mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-13 11:29:20 +02:00
* Fixed declaration of ITypeInfo.Invoke(). The last 3 parameters should be able accept nil values. This fixes calling late binding methods of ActiveX server implemented with FPC. Patch by Ludo Brands.
git-svn-id: trunk@22638 -
This commit is contained in:
parent
9035d3ae5d
commit
b0b2353f58
@ -3006,7 +3006,7 @@ TYPE
|
||||
Function LocalGetIDsOfNames():HResult;StdCall;
|
||||
{$endif}
|
||||
{$ifndef Call_as}
|
||||
Function Invoke(pvInstance: Pointer; memid: MEMBERID; wFlags: WORD; VAR pDispParams: DISPPARAMS; OUT pVarResult: VARIANT; OUT pExcepInfo: EXCEPINFO; OUT puArgErr: UINT):HResult;StdCall;
|
||||
Function Invoke(pvInstance: Pointer; memid: MEMBERID; wFlags: WORD; VAR pDispParams: DISPPARAMS; pVarResult: PVARIANT; pExcepInfo: PEXCEPINFO; puArgErr: PUINT):HResult;StdCall;
|
||||
{$else}
|
||||
Function LocalInvoke ():HResult;StdCall;
|
||||
{$endif}
|
||||
|
@ -1599,7 +1599,7 @@ HKCR
|
||||
else
|
||||
// Function Invoke(pvInstance: Pointer; memid: MEMBERID; wFlags: WORD; VAR pDispParams: DISPPARAMS; OUT pVarResult: VARIANT; OUT pExcepInfo: EXCEPINFO; OUT puArgErr: UINT):HResult;StdCall;
|
||||
// Result := fTypeInfo.Invoke(IDispatch(Self), DispID, Flags, TDispParams(params), PVariant(VarResult)^, PExcepInfo(ExcepInfo)^, PUINT(ArgErr)^);
|
||||
Result := fTypeInfo.Invoke(fInterfacePointer, DispID, Flags, TDispParams(params), PVariant(VarResult)^, PExcepInfo(ExcepInfo)^, PUINT(ArgErr)^);
|
||||
Result := fTypeInfo.Invoke(fInterfacePointer, DispID, Flags, TDispParams(params), VarResult, ExcepInfo, ArgErr);
|
||||
end;
|
||||
|
||||
function TAutoIntfObject.InterfaceSupportsErrorInfo(const riid: TIID): HResult;
|
||||
@ -1699,7 +1699,7 @@ HKCR
|
||||
begin
|
||||
Result := TAutoObjectFactory(Factory).DispTypeInfo.Invoke(Pointer(
|
||||
PtrUint(Self) + TAutoObjectFactory(Factory).DispIntfEntry^.IOffset),
|
||||
DispID, Flags, TDispParams(Params), PVariant(VarResult)^, PExcepInfo(ExcepInfo)^, PUINT(ArgErr)^);
|
||||
DispID, Flags, TDispParams(Params), VarResult, ExcepInfo, ArgErr);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user