AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

COM-Object mit Events

Ein Thema von markus.waibel · begonnen am 8. Aug 2007 · letzter Beitrag vom 10. Aug 2007
 
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#10

Re: COM-Object mit Events

  Alt 9. Aug 2007, 12:30
Kannst du TLB mal hochladen und dazu angeben, um welches Event-Interface es sich handelt ?
Man kann die TLB wie folgt extrahieren:
Im Delphi Menue: Datei -> Öffnen
Dateityp auf "Typbibliothek" umstellen.
EXE, DLL oder OCX-Datei laden. (kann sehr laaaange dauern)
Datei -> Speichern unter (Dateiendung auf .TLB ändern)

Als Hintergrund:
um ein COM-Event zu empfangen, benötigt man entweder
a.) ein passendes IDispatch-Interface oder
b.) ein Interface, dass von der Server-TLB vorgegeben wird. (frühe Bindung)
Delphi kann nur mit dem Fall a.) umgehen; mit Fall b.) kommt Delphi (aber auch VB-Script, Java-Script) nicht klar.
Beim Fall a.) gibt es noch zwei Varianten:
1.) entweder der Server ruft zuerst die function GetIDsOfNames auf, und danach Invoke
2.) der Server ruft direkt Invoke auf weil ihm die DispIds schon von der TLB bekannst sind.
Wenn der Server nach Fall 1.) agiert (ist aber eher selten), dann hat Delphi ein Problem:
Delphi-Quellcode:
function TEventDispatch.GetIDsOfNames(const IID: TGUID; Names: Pointer;
  NameCount, LocaleID: Integer; DispIDs: Pointer): HResult;
begin
  Result := E_NOTIMPL; // nicht implementiert, blöd
end;
Andreas
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:02 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