Hot News aus dem CAD.de-Newsletter:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TurboCAD SDK VBA
  Addon mit Lazarus

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   Addon mit Lazarus (187 mal gelesen)
MSV7
Mitglied



Sehen Sie sich das Profil von MSV7 an!   Senden Sie eine Private Message an MSV7  Schreiben Sie einen Gästebucheintrag für MSV7

Beiträge: 11
Registriert: 05.03.2015

Win10 (64bit) / Win7 (32bit), Turbocad 19 Platinum, Designcad 24 Max

erstellt am: 12. Mrz. 2017 17:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von Konzius Fu an!   Senden Sie eine Private Message an Konzius Fu  Schreiben Sie einen Gästebucheintrag für Konzius Fu

Beiträge: 40
Registriert: 18.06.2016

TC V19 PP
WinXP

erstellt am: 20. Mrz. 2017 02:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MSV7 10 Unities + Antwort hilfreich

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.


Sehen Sie sich das Profil von PSblnkd an!   Senden Sie eine Private Message an PSblnkd  Schreiben Sie einen Gästebucheintrag für PSblnkd

Beiträge: 127
Registriert: 13.03.2009

erstellt am: 20. Mrz. 2017 11:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MSV7 10 Unities + Antwort hilfreich

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.shtml
Leider 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



Sehen Sie sich das Profil von Konzius Fu an!   Senden Sie eine Private Message an Konzius Fu  Schreiben Sie einen Gästebucheintrag für Konzius Fu

Beiträge: 40
Registriert: 18.06.2016

TC V19 PP
WinXP

erstellt am: 20. Mrz. 2017 13:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MSV7 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von MSV7 an!   Senden Sie eine Private Message an MSV7  Schreiben Sie einen Gästebucheintrag für MSV7

Beiträge: 11
Registriert: 05.03.2015

Win10 (64bit) / Win7 (32bit), Turbocad 19 Platinum, Designcad 24 Max

erstellt am: 21. Mrz. 2017 05:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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.


Sehen Sie sich das Profil von PSblnkd an!   Senden Sie eine Private Message an PSblnkd  Schreiben Sie einen Gästebucheintrag für PSblnkd

Beiträge: 127
Registriert: 13.03.2009

erstellt am: 21. Mrz. 2017 08:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MSV7 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Konzius Fu:

Warum veröffentlichst Du das Buch eigentlich nicht, noch zu lückenhaft?

KF



Wie ich schon in
http://ww3.cad.de/foren/ubb/Forum229/HTML/000057.shtml
schrieb -> bei Interesse eMail an mich (eMail-Adresse im Impressum meiner HP)

Grüsse aus Berlin

PSblnkd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Konzius Fu
Mitglied



Sehen Sie sich das Profil von Konzius Fu an!   Senden Sie eine Private Message an Konzius Fu  Schreiben Sie einen Gästebucheintrag für Konzius Fu

Beiträge: 40
Registriert: 18.06.2016

TC V19 PP
WinXP

erstellt am: 21. Mrz. 2017 15:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MSV7 10 Unities + Antwort hilfreich

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.


Sehen Sie sich das Profil von PSblnkd an!   Senden Sie eine Private Message an PSblnkd  Schreiben Sie einen Gästebucheintrag für PSblnkd

Beiträge: 127
Registriert: 13.03.2009

erstellt am: 23. Mrz. 2017 09:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für MSV7 10 Unities + Antwort hilfreich

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 >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | Zusammenfassung auf CAD42.de | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2017 CAD.de