Hello everybody.
Yep, I get it.
I get the guilty and can fix it with a turn-around.
>From rev 42375, in msegui function dynarrayelesize(const typinfo:
pdynarraytypeinfo): sizeint; inline;
the result is always = 0.
This function is used in additempo() function, used mainly in the
msestat.pas file.
This is used to restore, for example, the position and size of windows.
To fix with a turn-around, I did first compile mseide with fpc 3.2.0 to know
what is the value of dynarrayelesize(typeinfo).
It is always 16 and then I use that constant instead of
dynarrayelesize(typeinfo).
It works like charm and can use now fpc 3.3.1 without problems.
Great but, for the Champions, would it be somebody that can explain why the
result is always = 0 from rev 42375 ?
Here the problematic function:
_______________________________________
function dynarrayelesize(const typinfo: pdynarraytypeinfo): sizeint; inline;
var
ti: pdynarraytypeinfo;
begin
ti:= typinfo;
{$ifdef FPC}
inc(pointer(ti),ord(pdynarraytypeinfo(ti)^.namelen)+2);
ti:= aligntoptr(ti);
result:= psizeint(ti)^;
{$else}
inc(pchar(ti),length(ti^.name));
result:= ti^.elsize;
{$endif}
end;
_________________________________________
Otherwise, after vote, I may commit the turn-around:
Const
dynarrayelesize_of_typeinfo = 16
and use that const instead of dynarrayelesize(typeinfo)
Fre;D
--
Sent from: http://mseide-msegui-talk.13964.n8.nabble.com/
_______________________________________________
mseide-msegui-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk