![]() |
OLE Automatisierung / Events ParamByRef
Hallo
Wie kann ich bei einer OLE Automatisierung einen Parameter zurückgeben ? Hab in invoke folgendes probiert
Delphi-Quellcode:
Die funktion hat drei paramter der letzte (sollte ja dann [0] sein) ist ein Boolean, ob die funktion am OLE Server ausgeführt werden soll oder nicht.function TEventSink.Invoke(DispID: integer; const IID: TGUID; LocaleID: integer; Flags: Word; var Params; VarResult,ExcepInfo,ArgErr:Pointer): HResult; var Args : PVariantArgList; begin Result := S_OK; if DispID = 3 then begin Args := TDispParams(Params).rgvarg; // PInteger(varResult)^ := 0; Args^[0].vBool := False; end; end; Hat jemand eine Idee warum es nicht so funktioniert ? |
Re: OLE Automatisierung / Events ParamByRef
Zitat:
Es können mehr als ein EventSink mit der Event-Source verbunden sein. Deshalb können keine Parameter zurückgeliefert werden. |
Re: OLE Automatisierung / Events ParamByRef
Zitat:
Warum ist Params dann ein var ? Warum kann und hat der Parameter als Typ ByRef ($80) gesetzt wenn das sowieso nicht gehen sollte ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10: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