Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi COM-DLL in Delphi 2007 einbinden (https://www.delphipraxis.net/118829-com-dll-delphi-2007-einbinden.html)

ioster 15. Aug 2008 18:09


COM-DLL in Delphi 2007 einbinden
 
Guten Abend zusammen,
ich suche seit ein paar Tagen nach einer Lösung für eine Problemstellung, die für mich neu ist. Ich habe von einem Softwarehersteller eine DLL auf dem Rechner installiert, die als Schnittstelle zu einer Finanzbuchhaltung fungieren soll. Der Anbieter hat sich für ein COM-Objekt entschieden und gibt dazu auch Beispiele in C und VB raus. Nur mit Delphi hat anscheinend noch nie jemand die Einbindung ausprobiert.

Für mich ist die Einbindung einer normalen DLL eigentlich kein Problem, aber eine COM-DLL ist für mich Neuland. Im Hilfesystem, Fachbüchern und im Internet habe ich keinen Leitfaden gefunden, wie man damit umzugehen hat.

Ich habe nun über KOMPONENTEN IMPORTIEREN die Option TYPBIBLIOTHEK IMPORTIEREN ausgewählt und konnte darüber eine XXX_TLB.PAS erzeugen. Darin werden die Klassen beschrieben, wenn ich das richtig überblicke.

Jetzt würde ich gerne die Objekte der DLL nutzen, habe aber das dumme Gefühl, noch nicht alles bedacht zu haben. Ich habbe die XXX_TLB.PAS in die USES-Liste aufgenommen und kann auch Objekte deklarieren. Das Create eines Objekts scheitert jedoch am Compiler.

So habe ich mir das vorgestellt:

type
TForm1 = class(TForm)
procedure FormCreate(Sender : TObject);
private
public
FibuApp : XXX_TLB.Application;
end;

var
TForm1 : TForm;

procedure TForm1.FormCreate(Sender : TObject);
begin
FibuApp := XXX_TLB.Application;
:
end;

Als Fehlermeldung bekomme ich "E2010 Inkompatible Typen: IApplication und TGUID". Wie eingehend erwähnt, habe ich mich mit dieser COM-Geschichte vorher noch nie auseinandergesetzt.

Falls mir jemand erklären kann, wie man mit einer COM-DLL umgehen muss und dann auch an die Objekte herankommt, würde mir das sehr weiterhelfen.

Danke im voraus.

Gruß
Ingo

mkinzler 15. Aug 2008 18:11

Re: COM-DLL in Delphi 2007 einbinden
 
Um welches Programm handelt es sich?

ioster 15. Aug 2008 18:31

Re: COM-DLL in Delphi 2007 einbinden
 
Bei dem Programm handelt es sich um SYSKA SQLRewe. Das ist eine Finanzbuchhaltung für größere Betriebe, die mit MS SQLServer und Oracle betrieben werden kann.

mkinzler 15. Aug 2008 19:02

Re: COM-DLL in Delphi 2007 einbinden
 
Delphi-Quellcode:
FibuApp := CoApplication.Create;

ioster 15. Aug 2008 19:11

Re: COM-DLL in Delphi 2007 einbinden
 
Mensch, da bin ich nun baff. Das funktioniert - danke. Wo habe ich den Denkfehler :wall: ? Also hatte ich das Prinzip schon richtig verstanden nur nicht den richtigen Klassennamen parat?

Gruß
Ingo


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz