OLE Automation mit Typbibliotheken
-
- Beiträge: 327
- Registriert: Di 17. Feb 2009, 10:44
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
OLE Automation mit Typbibliotheken
Hallo zusammen,
kann man in Lazarus OLE-Automation mittels *.tlb Dateien durchführen? Also ich meine eine Typbibliothek laden, damit sich daraus die einzubindende Unit erzeugt.
Mit Delphi 7 Personal Edition ist mir das gelungen und ich konnte mein Zeichprogramm (DesignCad) prima damit fernsteuern. Da ich mein Progrämmchen gerne weitergeben (verschenken) würde und keinen Ärger haben will, dachte ich es auf Lazarus umzubauen und als OpenSource zu verteilen.
Ich hatte dann versucht die Unit in Lazarus einzubinden, was aber nicht so funtionieren wollte.
Dann hätte ich noch eine Frage:
Kann man über dll-Dateien andere Programme Starten und Steuern?
Mir schwebt vor, mein oben erwähntes Fernsteuerprogrämmchen so umzubauen, daß es für die durchzuführenden Berechnungen Scilab benutzt.
Also ein Lazarus GUI als Schnittstelle zwischen DesignCad und Scilab. Werte in GUI eingeben, Berechnungen in Scilab durchführen und Ergebnisse in DesignCad Zeichnen.
Kann mir jemand Tipps geben?
Für Antworten danke ich im Voraus
Gruß
Volker
kann man in Lazarus OLE-Automation mittels *.tlb Dateien durchführen? Also ich meine eine Typbibliothek laden, damit sich daraus die einzubindende Unit erzeugt.
Mit Delphi 7 Personal Edition ist mir das gelungen und ich konnte mein Zeichprogramm (DesignCad) prima damit fernsteuern. Da ich mein Progrämmchen gerne weitergeben (verschenken) würde und keinen Ärger haben will, dachte ich es auf Lazarus umzubauen und als OpenSource zu verteilen.
Ich hatte dann versucht die Unit in Lazarus einzubinden, was aber nicht so funtionieren wollte.
Dann hätte ich noch eine Frage:
Kann man über dll-Dateien andere Programme Starten und Steuern?
Mir schwebt vor, mein oben erwähntes Fernsteuerprogrämmchen so umzubauen, daß es für die durchzuführenden Berechnungen Scilab benutzt.
Also ein Lazarus GUI als Schnittstelle zwischen DesignCad und Scilab. Werte in GUI eingeben, Berechnungen in Scilab durchführen und Ergebnisse in DesignCad Zeichnen.
Kann mir jemand Tipps geben?
Für Antworten danke ich im Voraus
Gruß
Volker
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: OLE Automation mit Typbibliotheken
Soweit ich weiß, kann man mit Lazarus zwar sowohl dlls benutzen als auch dlls erzeugen, Lazarus kann aber nicht wie Delphi tlbs und andere Type-Libraries "importieren" (also automatisch Code für die Zugriffs-Funktionen erzeugen), die muss man wohl von Hand schreiben und der dll-Lieferant muss dazu natürlich eine schriftliche Doku liefern..
-Michael
-Michael
-
- Beiträge: 327
- Registriert: Di 17. Feb 2009, 10:44
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
Re: OLE Automation mit Typbibliotheken
Vielen Dank Michael!!
Ich hatt's schon fast geahnt daß es nicht geht.
Aber ich geh' mal davon aus, daß sich von Euch -mit an Sicherheit grenzender Wahrscheinlichkeit - jemand auch mit Java auskennt
und mir evtl. mitteilen kann ob das Einladen von diesen Typbibliotheken dort funktioniert. Ob das da die Entwicklungsumgebung z.B. Eclipse oder NetBeans übernehmen.
Bitte meckert nicht weil ich hir nach Java frage. Im Java-Forum gab's keine Antwort.
Dann hätt' ich da noch eine Frage:
Gibt es außer "HeadConv" noch irgendwie Programme, welche Zuverlässig aus C-Headerdatein in Units für Lazarus/Delphi umwandeln?
Ich frage deshalb, weil es mir neulich gelungen ist mit FPC eine DLL für SCILAB zu schreiben. Das ging leichter als mit C++ hatt' ich den Eindruck. Nur wenn man sich für SCICOS Blöcke Entwerfen möchte, sind in den C++ Quelltext spezielle Header (scicos.h, scicos_block.h) einzufügen. Sofern man die in "Units" sollte es kein Problem darstellen DLL-Funktionen für die Blöcke zu schreiben.
Mir fallen einfach Lazarus/Delphi/FPC wesentlich leichter als C/C++. Man entwickelt vor sich hin, drückt "F9" und es funzt (oder auch mal nicht )
Vielen Dank für Eure Antworten und ein schönes Wochenende
-Volker
Ich hatt's schon fast geahnt daß es nicht geht.
Aber ich geh' mal davon aus, daß sich von Euch -mit an Sicherheit grenzender Wahrscheinlichkeit - jemand auch mit Java auskennt
und mir evtl. mitteilen kann ob das Einladen von diesen Typbibliotheken dort funktioniert. Ob das da die Entwicklungsumgebung z.B. Eclipse oder NetBeans übernehmen.
Bitte meckert nicht weil ich hir nach Java frage. Im Java-Forum gab's keine Antwort.
Dann hätt' ich da noch eine Frage:
Gibt es außer "HeadConv" noch irgendwie Programme, welche Zuverlässig aus C-Headerdatein in Units für Lazarus/Delphi umwandeln?
Ich frage deshalb, weil es mir neulich gelungen ist mit FPC eine DLL für SCILAB zu schreiben. Das ging leichter als mit C++ hatt' ich den Eindruck. Nur wenn man sich für SCICOS Blöcke Entwerfen möchte, sind in den C++ Quelltext spezielle Header (scicos.h, scicos_block.h) einzufügen. Sofern man die in "Units" sollte es kein Problem darstellen DLL-Funktionen für die Blöcke zu schreiben.
Mir fallen einfach Lazarus/Delphi/FPC wesentlich leichter als C/C++. Man entwickelt vor sich hin, drückt "F9" und es funzt (oder auch mal nicht )
Vielen Dank für Eure Antworten und ein schönes Wochenende
-Volker
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: OLE Automation mit Typbibliotheken
ErnstVolker hat geschrieben:Aber ich geh' mal davon aus, daß sich von Euch -mit an Sicherheit grenzender Wahrscheinlichkeit - jemand auch mit Java auskennt
und mir evtl. mitteilen kann ob das Einladen von diesen Typbibliotheken dort funktioniert. Ob das da die Entwicklungsumgebung z.B. Eclipse oder NetBeans übernehmen.
Bei Java kommst du gar nicht an "irgendwelchen" nativen Code. Der native Code muss dann explizit für Java geschrieben werden (per JNI) und DANN kann er aus der JVM heraus aufgerufen werden. Es gibt einige Wrapper Bibliotheken (wie z.B. JACOB) um an COM Objekte zu kommen, aber zumindest in die IDEs wirst du das da nicht integriert kriegen. Ich nehme aber mal an, dass es dafür Werkzeuge gibt, die die nötigen "Header" erstellen.
Re: OLE Automation mit Typbibliotheken
ErnstVolker hat geschrieben:Gibt es außer "HeadConv" noch irgendwie Programme, welche Zuverlässig aus C-Headerdatein in Units für Lazarus/Delphi umwandeln?
Headconv brauchst du nicht. Mit Freepascal kommt h2pas welches ideal für den FPC ist.
http://www.hu.freepascal.org/tools/h2pas.var
-
- Beiträge: 327
- Registriert: Di 17. Feb 2009, 10:44
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
Re: OLE Automation mit Typbibliotheken
Vielen Dank an Hitman und theo.
Werd' mich dann mal drannsetzen Eure Hilfen umzusetzen.
Das Forum hier ist wirklich spitze.
Gruß
Volker
Werd' mich dann mal drannsetzen Eure Hilfen umzusetzen.
Das Forum hier ist wirklich spitze.
Gruß
Volker
-
- Beiträge: 33
- Registriert: So 13. Dez 2009, 16:17
Re: OLE Automation mit Typbibliotheken
Da muss ich mich gleich dieser Diskussion anschliessen. Es wäre wirklich eine geniale Erleichterung ein Import Tool direkt von Lazarus aus aufrufen zu können, die dann die gewünschte DLL wrappt. So etwas sollte auch nicht allzu schwer sein, wenn man nötiges ObjectPascal know-how und Zeit hat. Ich hab beides nicht Trozdem würd mich sowas schon sehr jucken.
Es gibt da ein Projekt, geschrieben in D, das genau dieses macht. tlbimpd. Das funktioniert auch ohne Probleme.
Projektseite -> http://www.dsource.org/projects/juno/wi ... ryImporter
Code -> http://www.dsource.org/projects/juno/br ... ls/tlbimpd
Es gibt da ein Projekt, geschrieben in D, das genau dieses macht. tlbimpd. Das funktioniert auch ohne Probleme.
Projektseite -> http://www.dsource.org/projects/juno/wi ... ryImporter
Code -> http://www.dsource.org/projects/juno/br ... ls/tlbimpd
Mischen Sie Sich ein! Machen Sie mit! ödp www.ödp.de - Die Öko-Demokraten
-
- Beiträge: 1100
- Registriert: Di 5. Aug 2008, 09:37
- OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
- CPU-Target: 32/64,PPC(+64), ARM
- Wohnort: Eindhoven (Niederlande)
Re: OLE Automation mit Typbibliotheken
2.5.1 hat mehr und mehr die benötigende Header und Klassen für ein eigenes Tool, sie sollen nur debugged werden. Leider hat den User der den meisten Arbeit geleistet hat nicht viel Zeit, oder er hat schwierigkeiten mit Debuggen einige der uebergebliebene Problemen.
Aber am einfachsten ist jemand mit Delphi die TLB importieren zu lassen, und dan die generierten _tlb.pas unit in FPC nutzen. (aber besser in 2.5.1)
Sehe auch alle Bugs mit "COM" markiert in dem Tracker.
Aber am einfachsten ist jemand mit Delphi die TLB importieren zu lassen, und dan die generierten _tlb.pas unit in FPC nutzen. (aber besser in 2.5.1)
Sehe auch alle Bugs mit "COM" markiert in dem Tracker.
-
- Beiträge: 33
- Registriert: So 13. Dez 2009, 16:17
Re: OLE Automation mit Typbibliotheken
marcov hat geschrieben:2.5.1 hat mehr und mehr die benötigende Header und Klassen für ein eigenes Tool, sie sollen nur debugged werden. Leider hat den User der den meisten Arbeit geleistet hat nicht viel Zeit, oder er hat schwierigkeiten mit Debuggen einige der uebergebliebene Problemen.
Aber am einfachsten ist jemand mit Delphi die TLB importieren zu lassen, und dan die generierten _tlb.pas unit in FPC nutzen. (aber besser in 2.5.1)
Sehe auch alle Bugs mit "COM" markiert in dem Tracker.
Funktioniert ohne Probleme auch mit 2.4er Version. Ein Import Tool für Lazarus muss trozdem her.
Mischen Sie Sich ein! Machen Sie mit! ödp www.ödp.de - Die Öko-Demokraten
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: OLE Automation mit Typbibliotheken
Dann mach mal !hotzenplotz hat geschrieben:Ein Import Tool für Lazarus muss trozdem her.
-Michael