2013-12-05 6 views
1

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

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

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

'TForm1' does not contain a member named 'FormCreate'at line 81".

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

+0

Как вы создали экземпляр TForm1? – pamatt

ответ

4

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

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

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

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

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

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

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

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

+0

Большое спасибо. Это сработало. :) – Vekka