[fpc-pascal] TParamFlags and fpc 3.2.0.
fredvs
fiens at hotmail.com
Tue Jul 23 15:15:50 CEST 2019
Hello.
> Check for pfHidden.
Thanks Sven for helping.
But I do not catch how to hide those "self" parameter.
IMHO, the guilty is here, in Martin's code msedisignparser.pas
(Sadly I did not find any example how to use TParameterFlag.
The goal is to ignore first parameter if fpc >= 3.2.x)
___________________________________________________
procedure getmethodparaminfo(const atype: ptypeinfo;
var info: methodparaminfoty);
begin
...
for int1:= 0 to paramcount - 1 do begin
with params[int1] do begin
-----> //////////// Here flags must be adapted for fpc 3.2.0
flags:= tparamflags(
{$ifde mse_fpc_3_0_2}wordset{$else}byteset{$endif}(pbyte(po1)^));
inc(po1,{$ifdef mse_fpc_3_2}2{$else}1{$endif});
---------------------------------------------------------------
It seems that there is a problem with pfSelf parameter and last fpc 3.2.0,
it
is always set to true.
I did some test with flags.
Using flags:= [] shows always self-parameter.
And using flags:= [pfSelf] or no has no difference, it is always pfSelf on
(and so first parameter added).
I did test all other parameters:
pfVar,pfConst,pfArray,pfAddress,pfReference,pfOut,pfConstRef,pfHidden,pfHigh,pfSelf,pfVmt,pfResult
All others have influence to enable/disable it but for pfSelf, it is always
true.
Sure, one more time, I miss something.
Thanks.
Fre;D
-----
Many thanks ;-)
--
Sent from: http://free-pascal-general.1045716.n5.nabble.com/
More information about the fpc-pascal
mailing list