Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Parameterübergabe von einer COM-DLL über Eventsink Invokes (https://www.delphipraxis.net/177742-parameteruebergabe-von-einer-com-dll-ueber-eventsink-invokes.html)

BugTrapper 25. Nov 2013 09:27

Parameterübergabe von einer COM-DLL über Eventsink Invokes
 
Hallo,
ich finde nichts im Internet.

Wie kriegt man Übergabeparameter aus COM-Event-Prozeduren aus dem allgemeinen
Pointer VarResult wieder heraus ?

Zum Beispiel:

function TEventSink.Invoke(DispID: integer; const IID: TGUID; LocaleID: integer; Flags: Word; var Params; VarResult,ExcepInfo,ArgErr:Pointer): HResult;
var
m_pPacket : IDMPacket;

begin
Result := S_OK;
case DispID of
1: m_pPacket:=VarResult^;
FController.OnDMCompleted(m_pPacket);
end;
end;

Den obigen EventSink.Invoke kriege ich von einer COM-DLL, es wird mir aber auch ein Parameter übergeben, den ich vermutlich in VarResult als Pointer zurückbekomme.
Diesen Pointer kann ich aber nicht in meine Struktur IDMPacket casten, da kriege ich immer nen Compiler-Fehler.

Ich habe schon das halbe Internet durchsucht, weiss vielleicht jemand, wie man den Pointer VarResult wieder so umwandeln kann, dass er auf meine Struktur IDMPacket
zeigt ??

Wie kriegt man Parameter aus Invoke zurück, so dass man darauf zugreifen kann ?

Wie kriegt man so was hin ??

Vielen Dank im voraus


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:05 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