Thema: Delphi COM Klassen in dll

Einzelnen Beitrag anzeigen

bayo

Registriert seit: 19. Aug 2003
Ort: ch
15 Beiträge
 
Delphi 5 Enterprise
 
#1

COM Klassen in dll

  Alt 13. Okt 2004, 13:38
Hallo zusammen..

Ich probiere gerade eine Schnittstelle zu schreiben, die auf COM-Objekten basiert. Dank den Wizards in Delphi ist das auch kein Problem. Sie soll als Test etwa so aussehen:

Delphi-Quellcode:
Unit COMTest_TLB

  IMyCOMObject = interface;
  MyCOMObject = IMyCOMObject;

  IMyCOMObject = interface(IUnknown)
    ['{2A7898B9-637F-4059-8D76-0FA1F87B8732}']
    function JustATest(i1: Integer; i2: Integer): Integer;
  end;

  CoMyCOMObject = class
    class function Create: IMyCOMObject;
    class function CreateRemote(const MachineName: string): IMyCOMObject;
  end;

  .
  .


Unit COMTest

  TMyCOMObject = class(TTypedComObject, IMyCOMObject)
  public
    function JustATest(i1: Integer; i2: Integer): Integer;
  end;

  .
  .
Aus diesem Projekt kriege ich jetzt zwei Dateien: COMTest.dll und COMTest.tlb. Zum Problem:

Wie kann ich diese DLL jetzt in einem anderen Projekt verwenden bzw. wie kann ich in einem anderen Projekt eine Klasse des Typs TMyCOMObject instanzieren. Benötige ich in Delphi auch die .tlb Datei oder ist die nur für c++? Was ist genau mit dieser GUID, muss ich die zwingend registrieren?

Naja, leider finde ansonsten nur sehr wenig Infos zu diesem Thema aber ich hoffe, dass mir jemand von euch weiterhelfen kann!?

Grüsse und vielen Dank.. Dominic
life can only be understood in reverse
  Mit Zitat antworten Zitat