| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN |
Autor
|
Thema: Startschwierigkeiten mit API und C++ (2958 mal gelesen)
|
Ex-Mitglied
|
erstellt am: 18. Apr. 2008 13:54 <-- editieren / zitieren -->
Hallo Forum... ich stehe vor zwei Problemen: Ich bin Anfänger in C++.NET und in EplanP8 API. Um zum Punkt zu kommen... Wie fange ich an? Ich hab ein .NET-Win32 Forms-Projekt erstellt und die Verweise auf die Eplan Dll's eingetragen. Wenn ich ein neues Eplan-Application Objekt erstellen möchte meckert der Compiler. Erster Versuch: //Erstes Fenster erstellen public ref class MainFrame : public System::Windows::Forms::Form { public: MainFrame(void) { InitializeComponent(); EplApplication m_oEplan; m_oEplan = gcnew EplApplication; Ergebnis: function is unavailable in 'Eplan::EplApi::System::EplApplication' zweiter Versuch: EplApplication m_oEplan = gcnew EplApplication; Ergebnis: class does not have a copy-constructor Was ist hier falsch? Bitte hilfee, bin für jeden Tipp dankbar. ------------------ MfG Carsten Fischer DDT GmbH CAE-Zeichentechnik ELCAD, E³, COMOS, EPLAN |
Ex-Mitglied
|
erstellt am: 18. Apr. 2008 14:58 <-- editieren / zitieren -->
Hmm... 12 views und noch kein tipp? Also gut... Welche Info fehlt Euch? Mannnmannnmannn in VB und Eplan21 war alles so schön einfach Hat vielleicht schon mal jemand ne C++-Applikation für P8 geschrieben? Bitteee Hilfeee ------------------ MfG Carsten Fischer DDT GmbH CAE-Zeichentechnik ELCAD, E³, COMOS, EPLAN |
bgischel Moderator ...und Dippel-Ing ET...
Beiträge: 15740 Registriert: 09.03.2001 EPLAN Electric P8 Professional 2.7.x Expertenmenü :) ---
|
erstellt am: 18. Apr. 2008 16:47 <-- editieren / zitieren --> Unities abgeben:
|
nairolf Ehrenmitglied Elektroingenieur
Beiträge: 1987 Registriert: 21.01.2006 EPLAN Electric P8 2022.0.3 Update 2 (Build 17673) EPLAN Pro Panel Professional Addon EPLAN Fluid Addon
|
erstellt am: 18. Apr. 2008 19:24 <-- editieren / zitieren --> Unities abgeben:
Hallo ! Ich mache zwar keine API-Offline-Programme (evtl. das API-Forum auf der EPLAN-Homepage aufsuchen, da treiben sich einige API-Spezis rum ), aber m.W. müßte der Verweis auf die Eplan.EplApi.Systemu gemacht werden und eine Instanzierung erfolgt in C# so: EplApplication oW3App = new EplApplication(); LG, nairolf ------------------ Der Fuchs ist schlau und stellt sich dumm. Bei vielen ist es andersrum Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 19. Apr. 2008 11:15 <-- editieren / zitieren -->
Hallo nairolf. Die Verweise Instanzierung und Deklarationen hab ich im Grunde ja alle so gemacht. Aber egal ob mit oder ohne () kommt immer: function is unavailable in 'Eplan::EplApi::System::EplApplication' Naja, und die Idee mit dem Forum hatte ich auch schon. Nur scheint deren Admin im Urlaub zu sein. Hab mein PW geändert und seit dem warte ich auf Freischaltung durch den Admin. Na hauptsache die können noch ruhig schlafen. ------------------ MfG Carsten Fischer DDT GmbH CAE-Zeichentechnik ELCAD, E³, COMOS, EPLAN |
bgischel Moderator ...und Dippel-Ing ET...
Beiträge: 15740 Registriert: 09.03.2001 EPLAN Electric P8 Professional 2.7.x Expertenmenü :) ---
|
erstellt am: 19. Apr. 2008 13:26 <-- editieren / zitieren --> Unities abgeben:
|
FML Mitglied
Beiträge: 491 Registriert: 11.03.2002 Aktuell: EPLAN Electric P8 Professional V 2.6 HF2 V 2.7 V 2.7 Education<P>Eplan Fluid Add On Eplan ProPanel Add On Electric P8 API EEC Systeme: MS WINDOWS 10 MS WINDOWS 7 MS WINDOWS 2016 Server MS WINDOWS SQL Server
|
erstellt am: 19. Apr. 2008 20:26 <-- editieren / zitieren --> Unities abgeben:
Hallo Carsten, Zitat: Ich bin Anfänger in C++.NET und in EplanP8 API.
Gibt es einen Grund weshalb Du Dir das Leben zusätzlich erschweren willst? Die Geschichte in managed C++ .NET zu machen ist nicht ganz so trivial. Zitat: Mannnmannnmannn in VB und Eplan21 war alles so schön einfach
Weshalb gehst Du nicht her und programmierst wieder mit VB und der P8 API. Als Anfänger ist es wesentlich einfacher mit VB oder C# und der P8 Api zu starten. Für VB und C# bietet Dir das VS bereits vorbereitete Vorlagen für Offline und Addin Programme. Die ganze API Dokumentation bezieht sich mit den Beispielen auf VB und C#. Also ich habe unter der E21 Api mit C++ programmiert und werde jetzt nach den ersten Test auf P8 mit C# programmieren. Aber zu Deinem C++ Programm. Hast Du auch den entsprechenden Namespace Eplan::EplApi::System vor Deinen Aufrufen gesetzt? Gruß Fritz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 20. Apr. 2008 13:54 <-- editieren / zitieren -->
Hallo Fritz, lass es mich mal so sagen... Irgendwann muss ich mal mit C++ anfangen, weil ich es will . Und die API einzubinden kann ja wohl kaum der Grund sein, nicht C++ zu lernen. Aber nun zu Deiner Frage, ja. Ich hab den Namespace bekannt gegeben. Diese automatische Ergänzungsfunktion vom VS funktioniert ja auch. Nur behauptet der Compiler, dass die Funktion nicht existiert oder diese Klasse keinen Copy-Construktor hat, den sie offensichtlich braucht um instanziiert zu werden ? Ich meine hallo? Wie kann es Klassen geben, die man nicht instanziieren kann . Hab ich vielleicht den falschen Projekttyp genommen? Im VS ist neues Projekt ja schon lange nicht mehr neues Projekt. Da entscheide ich ja schon am Anfang ob ich das jemals ans Laufen kriege. Diese ganzen schlauen Bücher spielen meistens nur in der MFC-Welt. Und da musste ich mich letztens wieder belehren lassen, dass MFC und .NET nichts miteinander zu tun hat. Boah ich verzweifle hier . Welche Art von Projekt soll ich denn nehmen? ------------------ MfG Carsten Fischer DDT GmbH CAE-Zeichentechnik ELCAD, E³, COMOS, EPLAN |
FML Mitglied
Beiträge: 491 Registriert: 11.03.2002 Aktuell: EPLAN Electric P8 Professional V 2.6 HF2 V 2.7 V 2.7 Education<P>Eplan Fluid Add On Eplan ProPanel Add On Electric P8 API EEC Systeme: MS WINDOWS 10 MS WINDOWS 7 MS WINDOWS 2016 Server MS WINDOWS SQL Server
|
erstellt am: 21. Apr. 2008 12:57 <-- editieren / zitieren --> Unities abgeben:
Hallo Carsten, ich glaube in Deinem Codebsp. Zitat: EplApplication m_oEplan; m_oEplan = gcnew EplApplication;
müsste es zumindest mal heissen: EplApplication ^m_oEplan; m_oEplan = gcnew EplApplication; Ich denke gcnew liefert einen Zeiger vom Typ "managed" ( Referenz oder Wert ) Bin grad unterwegs und habe leider kein VS auf dem Laptop, deshalb kann ich grad nichts probieren. Zitat: Und die API einzubinden kann ja wohl kaum der Grund sein, nicht C++ zu lernen.
:D Sicher nicht. Aber es geht halt wesentlich einfacher mit C# oder VB. ;) Wie Dir ja schon einer mitteilte: Zitat: Und da musste ich mich letztens wieder belehren lassen, dass MFC und .NET nichts miteinander zu tun hat.
Gruß Fritz [Diese Nachricht wurde von FML am 21. Apr. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |