|
Учебник по Delphi
Дополнительные сведения о процедурах и функциях.
Когда вы пытаетесь обратиться к процедуре, находящейся в другом модуле, но специально
не объявляли его вручную, Delphi обязательно задаст вопрос: «Form
'FormГ references form 'Form2' declared in unit 'Unit2' which is not in your USES list.
Do you wish to add it?». В ответ на него нужно нажать кнопку Yes и запустить
программу на выполнение снова. Если вы нажали Yes, то Delphi автоматически
объявит форму, к которой происходит обращение, и больше этот вопрос задавать не будет.
Разумеется, если вы хотите вызывать процедуру, принадлежащую одной форме
(модулю), из другой формы (модуля), то ее нужно объявлять в разделе public,
а не private, иначе другая форма не увидит этой процедуры.
Можно вообще не объявлять процедуру или функцию ни в private, ни в public.
Это неправильно, и так лучше не делать, однако работать все равно будет (в пределах
одного модуля). Единственное «но» — процедура, которую вы вызываете,
должна располагаться в тексте выше места вызова, иначе Delphi не сможет ее обнаружить.
Пример не объявленной нигде процедуры и ее использования приведен
в листинге.
Листинг 6.8
procedure Unseen;
// процедура, которая нигде не объявлена
begin
Form"!.Capt ion : = Здесь был Ва. .. Unseen!;
end;
procedure TForml.ButtonlCI ick(Sender: TObject);
begin
Unseen;
end;
Процедура Unseen вызывается нажатием кнопки Buttonl. Если вы запустите такой
пример, то все будет выполняться. Если же необъявленную процедуру расположить
в тексте программы после Buttonlciick, то она работать не будет.
|
|
|