Показать сообщение отдельно
  #2  
Старый 08.09.2018, 06:27
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

потому что в момент OnCreate переменная Form2 еще не инициализированна (ну или там указатель на другой экземпляр формы, если переменная переиспользуется). Надо использовать Self:
Код:
procedure TForm2.FormCreate(Sender: TObject);
var
  Memo : TMemo;
  Button : TButton;
begin
  Button := TButton.Create(Self);
  Button.Parent := Self;
  Button.ModalResult := mrOK;
  Button.Top := 8;
  Button.Left := 8;
  Button.Caption := 'OK';

  Memo := TMemo.Create(Self);
  Memo.Parent := Self;
  Memo.Top := Button.Top + Button.Height + 8;
  Memo.Left := 8;
  Memo.Lines.Text := 'Created in OnCreate';
end;
Ответить с цитированием