Hi all. I have some trouble with delphi code in lazarus. And don't have experience in lazarus for fix that. Maybe yor can help me with this.
I have class, 1 class field its another class:
Simba Code:
TGsvObjectInspectorInplaceEditor = class(MaskEdit.TCustomMaskEdit)
  public
    constructor Create(AOwner: TComponent); override;

  private
    // собственные переменные
    FInspector:     TGsvCustomObjectInspectorGrid;
    FPropertyInfo:  PGsvObjectInspectorPropertyInfo; // дескриптор редактируемого свойства
    FListBox:       TGsvObjectInspectorListBox;      // окно выпадающего списка строк
    FButtonWidth:   Integer;
    FPressed:       Boolean;
    FWasPressed:    Boolean;
    FLockModify:    Boolean;
    FDropDownCount: Integer;

    procedure SetNewEditText(const Value: String);
    procedure ShowEditor(ALeft, ATop, ARight, ABottom: Integer;
              Info: PGsvObjectInspectorPropertyInfo;
              const Value: String);
    procedure HideEditor;
    procedure ShowEditHint;
    procedure ShowValueHint;
    procedure DropDown;
    procedure CloseUp(Accept: Boolean);
    procedure ListItemChanged;
    procedure SetListItem(Index: Integer);
    procedure ShowDialog;
    procedure ValidateStringValue(const Value: String);


    // события Windows
    procedure CMCancelMode(var Message: TLMessage); message LM_CANCELMODE;
    procedure WMPaint(var Message: TLMPaint); message LM_PAINT;
    procedure WMSetCursor(var Message: TWMSetCursor); message WM_SETCURSOR;
    procedure WMLButtonDown(var Message: TWMLButtonDown); message WM_LBUTTONDOWN;
    procedure WMLButtonUp(var Message: TWMLButtonUp); message WM_LBUTTONUP;
    procedure WMLButtonDblClk(var Message: TWMLButtonDblClk); message WM_LBUTTONDBLCLK;
    procedure WMKillFocus(var Message: TMessage); message WM_KILLFOCUS;

  protected
    // переопределяемые методы базового класса
    procedure CreateParams(var Params: TCreateParams); override;
    procedure CreateWnd; override;
    procedure PaintWindow(DC: HDC); override;
    procedure DoExit; override;
    procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
    function  DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint):
              Boolean; override;
    function  DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint):
              Boolean; override;
    procedure KeyDown(var Key: Word; Shift: TShiftState); override;
    procedure KeyPress(var Key: Char); override;
    procedure KeyUp(var Key: Word; Shift: TShiftState); override;
    procedure Change; override;
    procedure ValidateError;

  public
    procedure ValidateEdit; override;
  end;

Another class:
Simba Code:
TGsvObjectInspectorListBox = class(TCustomListBox)
  public
    constructor Create(AOwner: TComponent); override;

  private
    FEditor: TGsvObjectInspectorInplaceEditor;

    procedure HideList(Accept: Boolean);

    procedure WMRButtonDown(var Message: TWMRButtonDown); message WM_RBUTTONDOWN;
    procedure WMRButtonUp(var Message: TWMRButtonDown); message WM_RBUTTONUP;
    procedure WMMButtonDown(var Message: TWMMButtonDown); message WM_MBUTTONDOWN;
    procedure WMMButtonUp(var Message: TWMMButtonDown); message WM_MBUTTONUP;

  protected
    procedure CreateParams(var Params: TCreateParams); override;
    procedure CreateWnd; override;
    procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
              X, Y: Integer); override;
  end;
in TGsvObjectInspectorListBox one method, defined as a class TGsvObjectInspectorInplaceEditor In delphi that construction work fine, but in lazarus i have error:" Control of class 'TGsvObjectInspectorInplaceEditor ' cant have control of a class 'TGsvObjectInspectorListBox ' as сhild". How i can fix that? Thanks for you advice.