andrestudio, тут проблема понимания вот этого кода в SetAnchors:
#pas
for i := 0 to Control.ChildCount - 1 do
begin
C := Control.Children[ i ];
with C{$ifndef F_P}^{$endif} do begin
cMaxHeight := THIWin(C).fMaxHeight;
Почему это работает в Delphi? Возможно, по особенностях строения кодов публичные поля ThiWin располагаются в памяти сразу после полей объекта ThiWin.Control, и Delphi проглатывает это. В FPC возможно строение кода другое, поэтому не работает.