Autor
|
Thema: Addon mit Lazarus (1028 mal gelesen)
|
MSV7 Mitglied
Beiträge: 42 Registriert: 05.03.2015 Win10 (64bit) / Win7 (32bit), Turbocad 19 Platinum, Designcad 24 Max
|
erstellt am: 12. Mrz. 2017 17:11 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich wollte mal versuchen ein Addon (DLL) in Lazarus zu erstellen. Es gelingt mir nicht. Hat jemand ein ganz einfaches Lazarus Beispiel Projekt, welches mir zugesendet werden kann? Danke Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Konzius Fu Mitglied
Beiträge: 173 Registriert: 18.06.2016 TC V19 PP WinXP
|
erstellt am: 20. Mrz. 2017 02:40 <-- editieren / zitieren --> Unities abgeben: Nur für MSV7
Moin, scheint es ja nicht zu geben. Ist aber auch nicht trivial, neben der eigentlichen DLL-Hülle, die einen OLE Automation Server implementieren muß (IUnknown) muß man je nachdem welche Art Erweiterung man schreiben will auch noch verschiedene andere Schnittstellen mit Leben füllen. TC unterscheidet in fünf verschiedene Arten, Objektverknüpfungen (Ties), Paletten, etc. Dadurch wird bestimmt, wie TC die DLL einbindet. Die DLL selbst muß dann in ein definiertes Verzeichnis kopiert werden, damit TC sie beim Start findet. Soweit der theoretische Teil, den ich mir jüngst angelesen habe. Zu OLE Autmation findet man natürlich Info bei Microsoft, eine DLL erstellen ist mit fpc/lazarus ebenso leicht wie sonst. Fehlen also noch die spezifischen Schnittstellen einmal für OLE, damit das System die behandeln kann und die für TC, damit es die realisierte Funktion einbinden kann. Ich hab grade nicht genug Zeit übrig, aber mein erster Schritt wird sein, die Server-Seite des OLE-Zeugs zu schreiben und dann zu ergründen, ob man eine TLB erstellen muß, wie das mit fpc/lazarus geht, dann weiter sehen. Wie weit bist Du denn gekommen? KF
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PSblnkd Mitglied Dipl.-Ing.
Beiträge: 156 Registriert: 13.03.2009
|
erstellt am: 20. Mrz. 2017 11:22 <-- editieren / zitieren --> Unities abgeben: Nur für MSV7
Zur Problematik der AddOn-Erweiterung (DLL) der TC-Funktionalität gab es vor einiger Zeit schon mal einen Thread: http://ww3.cad.de/foren/ubb/Forum229/HTML/000039.shtmlLeider bin ich seit dem mit diesem Problem auch nicht mehr weiter gekommen. Es wäre sehr vorteilhaft, wenn mir (uns) mal jemand im Detail an einem Beispiel erläutern könnte, wie das funktionieren kann, bzw. welche Schritte man dabei vollziehen muss. Frage an Konzius Fu (Zitat): "Soweit der theoretische Teil, den ich mir jüngst angelesen habe." Wo hast Du Dir da was anlesen können? Meine Erkenntnisse zur AddOn-Erweiterung mit DLL sind in meinem Buch "SDK-TurboCAD™ - ein Tutorial (Teil 1)" - http://www.ps-blnkd.de/SDK_Inh.pdf (Inhaltsverzeichnis) ab Seite 169 dargelegt. Grüsse aus Berlin PSblnkd [Diese Nachricht wurde von PSblnkd am 20. Mrz. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Konzius Fu Mitglied
Beiträge: 173 Registriert: 18.06.2016 TC V19 PP WinXP
|
erstellt am: 20. Mrz. 2017 13:19 <-- editieren / zitieren --> Unities abgeben: Nur für MSV7
Zitat: Original erstellt von PSblnkd:
... Es wäre sehr vorteilhaft, wenn mir (uns) mal jemand im Detail an einem Beispiel erläutern könnte, wie das funktionieren kann, bzw. welche Schritte man dabei vollziehen muss.
Damit hatte ich ja grade begonnen, auch für mich selbst. Wobei ich eigentlich hoffe, daß sich noch andere Leute einschalten, mancher hatte ja mit fpc/Lazarus schon was erreicht. Zitat:
Frage an Konzius Fu (Zitat): "Soweit der theoretische Teil, den ich mir jüngst angelesen habe." Wo hast Du Dir da was anlesen können?
In der SDK-Dokumenation zu TC19pp. Details auch in Foren auf TurboCAD.com, aber das meiste aus den .chm-Dateien. Zitat:
Meine Erkenntnisse zur AddOn-Erweiterung mit DLL sind in meinem Buch "SDK-TurboCAD™ - ein Tutorial (Teil 1)" - http://www.ps-blnkd.de/SDK_Inh.pdf (Inhaltsverzeichnis) ab Seite 169 dargelegt.
Warum veröffentlichst Du das Buch eigentlich nicht, noch zu lückenhaft? KF Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MSV7 Mitglied
Beiträge: 42 Registriert: 05.03.2015 Win10 (64bit) / Win7 (32bit), Turbocad 19 Platinum, Designcad 24 Max
|
erstellt am: 21. Mrz. 2017 05:39 <-- editieren / zitieren --> Unities abgeben:
Das Thema ist wirklich nicht trivial. Egal wo ich was gefragt habe (englisches Turbocad Forum, Lazarusforum), habe bis dato kein Beispiel bekommen. Antworten kamen. Schau doch mal in den anderen Forum nach..... Einmal habe ich eine Antwort gelesen ...Lazarus funktioniert wunderbar...... Das ist aber auch alles. Kein Hinweis nichts. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PSblnkd Mitglied Dipl.-Ing.
Beiträge: 156 Registriert: 13.03.2009
|
erstellt am: 21. Mrz. 2017 08:55 <-- editieren / zitieren --> Unities abgeben: Nur für MSV7
|
Konzius Fu Mitglied
Beiträge: 173 Registriert: 18.06.2016 TC V19 PP WinXP
|
erstellt am: 21. Mrz. 2017 15:54 <-- editieren / zitieren --> Unities abgeben: Nur für MSV7
Zitat: Original erstellt von MSV7: Das Thema ist wirklich nicht trivial. Egal wo ich was gefragt habe (englisches Turbocad Forum, Lazarusforum), habe bis dato kein Beispiel bekommen. Antworten kamen. Schau doch mal in den anderen Forum nach..... Einmal habe ich eine Antwort gelesen ...Lazarus funktioniert wunderbar...... Das ist aber auch alles. Kein Hinweis nichts.
Das dürfte auch der Grund sein, weswegen niemand, der sich mühsam die Fakten erarbeitet hat, diese so einfach verschenken möchte. Da versenkt man schon einiges an Arbeitsstunden, die man sicher lieber kommerziell nutzbar macht. Ich hab wie schon erwähnt momentan nicht genug Zeit dafür, in zwei Monaten oder so. Außerdem scheint eines meiner Ziel-Themen im GUI per SDK garnicht zu machen zu sein. Da muß ich erstmal auf Turbocad.com nachhaken. Zweiter Punkt ist, Delphi hat einen Quellcodegenerator für COM-Geschichten, also auch für den hier gesuchten in-process COM server. Da wird einem die Hülle praktisch vorgekaut, so daß man sie nur mit dem Nötigen füllen muß. Fpc/Lazarus dürfte sowas nicht mitbringen. Wer also ein älteres Delphi im Zugriff hat, kann sich den COM-Pflichtteil schonmal damit erzeugen lassen. Happy Coding, KF Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PSblnkd Mitglied Dipl.-Ing.
Beiträge: 156 Registriert: 13.03.2009
|
erstellt am: 23. Mrz. 2017 09:10 <-- editieren / zitieren --> Unities abgeben: Nur für MSV7
Zitat: Original erstellt von Konzius Fu:
Das dürfte auch der Grund sein, weswegen niemand, der sich mühsam die Fakten erarbeitet hat, diese so einfach verschenken möchte. ... Happy Coding, KF
Da muss ich Dir Recht geben. Als ich etwa 2006 aus beruflichen Gründen mit der SDK-Programmierung für TC anfing und wegen der Kompliziertheit der Dinge alles aufgeschrieben habe, war mir auch noch nicht klar, dass letztendlich daraus (z.Zt.) mal über 200 A4-Seiten werden. Und das ist das Ergebniss vieler, vieler Stunden intensiver Arbeit - oft auch mit "try & error" ... Gerade die DLL-Problematik hat mich sehr beschäftigt, weil sie besonders "undurchsichtig" ist. Mir ist bis heute nicht wirklich erklärlich, warum die mitgelieferten laufen und die selbst erzeugten nicht. Den Ausweg habe ich dann mit "AutoIt" gefunden - ja sicher, auch das hat so seine Nachteile ... Grüsse aus Berlin PSblnkd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|