Необъявленная ошибка 'FormCreate' Delphi

Я пытаюсь назвать столбцы (в этой серой строке) в сетке строк. Я знаю, что я должен использовать что-то вроде этого:

procedure TForm1.FormCreate(Sender: TObject);
begin
  StringGrid1.Cells[0,0] := 'Text 1';
  StringGrid1.Cells[1,0] := 'Text 2';
end;

Проблема в том, что есть ошибка:

"TForm1" не содержит члена с именем "FormCreate" в строке 81".

Я новичок Что не так с моей программой?

1 ответ

Решение

Вам нужно объявить метод в типе.

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  ...
  end;

И эта строка кода для объявления типа, который вы найдете в верхней части вашего устройства. Тогда ваша программа скомпилируется. Вы также должны убедиться, что обработчик событий присоединяет обработчик к форме OnCreate событие. Используйте инспектор объектов, чтобы проверить это.

Но самый простой способ добиться этого - заставить IDE написать все это. Итак, вы бы:

  • Удалите код, который вы указали в вопросе.
  • Нажмите на форму в дизайнере.
  • Выберите представление "События" в Инспекторе объектов.
  • Найти OnCreate событие в Инспекторе объектов.
  • Дважды щелкните в столбце обработчика OnCreate событие в Инспекторе объектов.
  • Теперь откроется редактор кода, показывающий пустое тело обработчика событий, к которому вы хотите добавить код, и все остальные части объединены. В частности, метод объявлен в типе, и обработчик связан с событием.

Вот как вы обычно это делаете, но стоит знать три вещи, которые должны быть в наличии для запуска события:

  1. Обработчик события объявляется в типе класса.
  2. Обработчик события определяется в реализации класса.
  3. Обработчик события присоединяется к событию в Инспекторе объектов. На самом деле, хотя вы установили его в Инспекторе объектов, информация фактически находится в файле.dfm.

Если вы еще этого не знаете, то задавать вопросы о переполнении стека - не самый эффективный способ набрать скорость. Хорошая книга, безусловно, поможет. Даже если это для более старой версии Delphi, основные концепции не менялись годами. Но если у вас нет книги, то вы должны по крайней мере следовать учебнику.

Другие вопросы по тегам