From ede4bac34592eb3c9f94d72bb49445d7e8644b71 Mon Sep 17 00:00:00 2001 From: michael Date: Fri, 1 Jan 2016 16:45:07 +0000 Subject: [PATCH] * Fixed bug ID #25110, patch from ocean git-svn-id: trunk@32821 - --- packages/winunits-base/src/typelib.pas | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/winunits-base/src/typelib.pas b/packages/winunits-base/src/typelib.pas index 42f835022b..aea34de5e4 100644 --- a/packages/winunits-base/src/typelib.pas +++ b/packages/winunits-base/src/typelib.pas @@ -455,7 +455,7 @@ var TIref: ITypeInfo; BstrName,BstrNameRef,BstrDocString : WideString; s,sl,sPropDispIntfc,sType,sConv,sFunc,sPar,sVarName,sMethodName, - sPropParam,sPropParam2,sPropParam3:string; + sPropParam,sPropParam2,sPropParam3,tmp: string; sEventSignatures,sEventFunctions,sEventProperties,sEventImplementations:string; i,j,k:integer; FD: lpFUNCDESC; @@ -808,10 +808,14 @@ begin sParam:=sPropParam; sDefault:=sl; end; - if bPropHasParam then - s:=s+format(' procedure Set_%s(const %s:%s); %s;'#13#10,[sMethodName,sPropParam3,sType,sConv]) + if sType='OleVariant' then + tmp:=' procedure Set_%s(%s:%s); %s;'#13#10 else - s:=s+format(' procedure Set_%s(const %s:%s); %s;'#13#10,[sMethodName,sVarName,sType,sConv]); + tmp:=' procedure Set_%s(Const %s:%s); %s;'#13#10; + if bPropHasParam then + s:=s+format(tmp,[sMethodName,sPropParam3,sType,sConv]) + else + s:=s+format(tmp,[sMethodName,sVarName,sType,sConv]); end; end; end;