Dňa 21.10.2016 o 12:10 José Mejuto napísal(a):
El 21/10/2016 a las 12:05, LacaK escribió:
- in typelib.pas is on line 631 vt=VT_PTR and sl='PWideString' ('P' is
deleted on line 635) wParamFlags=0
When I add "else" part:
case FD^.lprgelemdescParam[k].paramdesc.wParamFlags and
(PARAMFLAG_FIN or PARAMFLAG_FOUT) of
PARAMFLAG_FIN or PARAMFLAG_FOUT:sPar:='var ';
PARAMFLAG_FOUT:sPar:='out ';
PARAMFLAG_FIN:sPar:='var '; //constref in safecall? TBD
/*added*/ else sPar:='var ';
end;
it works for me.
But I have no idea if it can negative impact other cases ?
Hello,
Looking again to the code I think you are right and is the third case
"PARAMFLAG_FIN" which may be wrong, it should be "constref" (IN only).
Have you tried to use constref in the else case ?
Yes, when I use:
else sPar := 'constref ';
Then it works for me ...
So result should be:
case FD^.lprgelemdescParam[k].paramdesc.wParamFlags and
(PARAMFLAG_FIN or PARAMFLAG_FOUT) of
PARAMFLAG_FIN or PARAMFLAG_FOUT:sPar:='var ';
PARAMFLAG_FOUT:sPar:='out ';
else sPar:='constref ';
end;
-Laco.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal