![]() |
COM-Object & CoClass
Die Registerkarte für eine TLB-Datei enthält eine Hilfsklasse (CoClass) die 5 Schnittstellen implementiert. Davon ist nur eine die Default-Schnittstelle.
Wenn ich die TLB-Datei als Komponente importiere, generiert Delphi Code nur für die Default-Schnittstelle. Wie könnte man auch die anderen Schnittstellen verwenden? Ist es überhaupt möglich? Bin ich komisch oder Delphi ? :gruebel: |
Re: COM-Object & CoClass
Du brauchstt einen Komponentenwrapper für eine CoClass nur dann, wenn du Events empfangen möchtest.
Ansonsten arbeitet man besser ohne kapselnde Komponente und erzeugt das Interface selbst. Man kann in beiden Fällen aber alle (nichtausgehenden) Interfaces benützen:
Delphi-Quellcode:
var
x : IZweitesInterface; begin x := Wrapperkomponente.DefaultInterface as IZweitesInterface; x.Methode42; |
Re: COM-Object & CoClass
Ich arbeite mit Events und habe folgendes versucht:
Delphi-Quellcode:
Die Funktion wird aufgerufen, aber ich erhalte keine Rückmeldung.
z: IErstesInterface;
x: IZweitesInterface; ... z := CoSK_API.Create; x := z as IZeitesInterface; x.Methode_Schicke_Rückmeldung; Die Rückmeldung sollte über einen Event: OnNotify kommen (der mit ein Object von Typ TSK_API aufgerufen wird) Ich bin sicher, dass es daran liegt, dass ich die IZweitesInterface nicht richtig einbinden konnte. Weiss jemand vielleicht eine andere Lösung :?: Danke |
Re: COM-Object & CoClass
Zitat:
Zitat:
Delphi-Quellcode:
// Annahme die Komponente SK_API1 vom Typ TSK_API liegt auf dem Formular
var x: IZweitesInterface; begin Assert(Assigned(SK_API1)); // sicherstellen, dass die Komponente vorhanden ist SK_API1.Connect; // wird müssen verbunden sein x := SK_API1.DefaultInterface as IZweitesInterface; x.Methode; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz