Einzelnen Beitrag anzeigen

BugTrapper

Registriert seit: 25. Nov 2013
Ort: bei Hannover
2 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

Parameterübergabe von einer COM-DLL über Eventsink Invokes

  Alt 25. Nov 2013, 09:27
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,ArgErrointer): 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
M. Külshammer
  Mit Zitat antworten Zitat