The Invoke method is the only way of handling the IDispInterface
events. The Automation wizard automatically generates the Invoke stub
and leaves it up to the programmer to fill it in. The code works fine
when I'm just passing integer values etc, but this is the first time
I've needed to use a VAR parameter in an IDispInterface event.
The TDispParams is a record (tagDISPPARAMS) in ActiveX.pas.
Phil.
Conor Boyd wrote:
I just use WideStrings in COM parameters without any conversions at all
in D7 and BDS2006.
However, is TDispParams a class?
Surely you'll have to do some sort of streaming for the TDispParams
type?
C.
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Phil Middlemiss
I have an automation object with events. One of the events has a couple
of VAR parameters which I'm not quite sure how to handle. Here is the
code that is NOT working:
procedure TT3SDKEvents.DoInvoke(Sender : TObject; DispID: Integer; const
IID: TGUID;
LocaleID: Integer; Flags: Word; var Params: TDispParams; VarResult,
ExcepInfo,
ArgErr: Pointer);
case DispID of
...
4: { OnIdentify }
if assigned(FOnIdentify) then
begin
//initialise the values
layermanagerid := WideCharToString(Params.rgvarg[1].bStrVal);
appname := WideCharToString(Params.rgvarg[0].bstrVal);
if assigned(FOnIdentify) then
FOnIdentify(layermanagerid, appname);
Params.rgvarg[1].bstrVal := PWideChar(layermanagerid);
Params.rgvarg[0].bstrVal := PWideChar(appname);
end;
end;
end;
The above code just ends up returning an empty string - I've checked to
make sure that the call to FOnIdentify is indeed returning values.
So the question is: how should I be returning a widestring in the
TDispParams?
_______________________________________________
Delphi mailing list
[email protected]
http://ns3.123.co.nz/mailman/listinfo/delphi
begin:vcard
fn:Phil Middlemiss
n:Middlemiss;Phil
org:Vision Software, MTS Ltd
email;internet:[EMAIL PROTECTED]
title:Project Leader
tel;work:+64 7 3480001
tel;cell:+64 27 4592648
x-mozilla-html:TRUE
url:http://www.tumonz.co.nz
version:2.1
end:vcard
_______________________________________________
Delphi mailing list
[email protected]
http://ns3.123.co.nz/mailman/listinfo/delphi