* most fixes from comment 31388 in #14802

git-svn-id: trunk@13904 -
This commit is contained in:
marco 2009-10-17 20:25:44 +00:00
parent 778505701c
commit e6d0c0a2ad

View File

@ -29,6 +29,8 @@ type
POleStr = Types.POleStr; POleStr = Types.POleStr;
PPOleStr = Types.PPOleStr; PPOleStr = Types.PPOleStr;
TBStr = POleStr; TBStr = POleStr;
TBStrList = array[0..(high(integer) div sizeof(TBSTR))-1] of TBstr;
PBStrList = ^TBStrList;
PBStr = ^TBStr; PBStr = ^TBStr;
TOleEnum = type LongWord; TOleEnum = type LongWord;
LargeInt = Types.LargeInt; LargeInt = Types.LargeInt;
@ -1453,6 +1455,7 @@ TYPE
pTYPEDESC = ^TYPEDESC; pTYPEDESC = ^TYPEDESC;
tagTYPEKIND = Dword; tagTYPEKIND = Dword;
TYPEKIND = tagTYPEKIND; TYPEKIND = tagTYPEKIND;
TTYPEKIND = TYPEKIND;
INVOKEKIND = Dword; INVOKEKIND = Dword;
tagTYPEDESC = Record tagTYPEDESC = Record
Case Integer OF Case Integer OF
@ -1505,6 +1508,7 @@ TYPE
End; End;
VARDESC = tagVARDESC; VARDESC = tagVARDESC;
LPVARDESC = ^VARDESC; LPVARDESC = ^VARDESC;
pVARDESC = LPVARDESC;
tagDISPPARAMS = Record tagDISPPARAMS = Record
rgvarg : lpVARIANTARG; rgvarg : lpVARIANTARG;
rgdispidNamedArgs : lpDISPID; rgdispidNamedArgs : lpDISPID;
@ -1581,6 +1585,7 @@ TYPE
PTLIBAttr = LPTLIBATTR; PTLIBAttr = LPTLIBATTR;
LPFUNCDESC = ^FUNCDESC; LPFUNCDESC = ^FUNCDESC;
PFUNCDESC = LPFUNCDESC;
tagFUNCDESC = Record tagFUNCDESC = Record
memid : MEMBERID; memid : MEMBERID;
@ -2822,11 +2827,11 @@ TYPE
{$ifndef Call_as} {$ifndef Call_as}
Function GetFuncDesc(index: UINT; OUT ppFuncDesc: lpFUNCDESC):HResult;StdCall; Function GetFuncDesc(index: UINT; OUT ppFuncDesc: lpFUNCDESC):HResult;StdCall;
Function GetVarDesc(index: UINT; OUT ppVarDesc: lpVARDESC):HResult;StdCall; Function GetVarDesc(index: UINT; OUT ppVarDesc: lpVARDESC):HResult;StdCall;
Function GetNames(memid: MEMBERID; OUT rgBstrNames: WideString; cMaxNames: UINT; OUT pcNames: UINT):HResult;StdCall; Function GetNames(memid: MEMBERID; rgBstrNames: PBStrList; cMaxNames: UINT; OUT pcNames: UINT):HResult;StdCall;
{$else} {$else}
Function GetFuncDesc(index: UINT; OUT ppFuncDesc: LPFUNCDESC; OUT pDummy: CLEANLOCALSTORAGE):HResult;StdCall; Function GetFuncDesc(index: UINT; OUT ppFuncDesc: LPFUNCDESC; OUT pDummy: CLEANLOCALSTORAGE):HResult;StdCall;
Function GetVarDesc(index: UINT; OUT ppVarDesc: LPVARDESC; OUT pDummy: CLEANLOCALSTORAGE):HResult;StdCall; Function GetVarDesc(index: UINT; OUT ppVarDesc: LPVARDESC; OUT pDummy: CLEANLOCALSTORAGE):HResult;StdCall;
Function GetNames(memid: MEMBERID; OUT rgBstrNames: WideString; cMaxNames: UINT; OUT pcNames: UINT):HResult;StdCall; Function GetNames(memid: MEMBERID; rgBstrNames: PBStrList; cMaxNames: UINT; OUT pcNames: UINT):HResult;StdCall;
{$endif} {$endif}
Function GetRefTypeOfImplType(index: UINT; OUT pRefType: HREFTYPE):HResult;StdCall; Function GetRefTypeOfImplType(index: UINT; OUT pRefType: HREFTYPE):HResult;StdCall;
Function GetImplTypeFlags(index: UINT; OUT pImplTypeFlags: WINT):HResult;StdCall; Function GetImplTypeFlags(index: UINT; OUT pImplTypeFlags: WINT):HResult;StdCall;
@ -2872,18 +2877,18 @@ TYPE
Function GetContainingTypeLib(OUT ppTLib: ITypeLib; OUT pIndex: UINT):HResult;StdCall; Function GetContainingTypeLib(OUT ppTLib: ITypeLib; OUT pIndex: UINT):HResult;StdCall;
{$endif} {$endif}
{$ifndef Call_as} {$ifndef Call_as}
Procedure ReleaseTypeAttr(Const pTypeAttr: TypeAttr); StdCall; Procedure ReleaseTypeAttr( pTypeAttr: pTypeAttr); StdCall;
{$else} {$else}
Function ReleaseTypeAttr():HResult;StdCall; Function ReleaseTypeAttr():HResult;StdCall;
{$endif} {$endif}
{$ifndef Call_as} {$ifndef Call_as}
Procedure ReleaseFuncDesc(const pFuncDesc : FUNCDESC); StdCall; Procedure ReleaseFuncDesc( pFuncDesc : lpFUNCDESC); StdCall;
{$else} {$else}
Function LocalReleaseFuncDesc():HResult;StdCall; Function LocalReleaseFuncDesc():HResult;StdCall;
{$endif} {$endif}
{$ifndef Call_as} {$ifndef Call_as}
Procedure ReleaseVarDesc(Const pVarDesc : VarDesc); Procedure ReleaseVarDesc( pVarDesc : lpVarDesc); stdcall;
{$else} {$else}
Function LocalReleaseVarDesc():HResult;StdCall; Function LocalReleaseVarDesc():HResult;StdCall;
{$endif} {$endif}