Помощь - Поиск - Пользователи - Календарь
Полная версия: FormCreate
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Tan
У меня к вам следующий вопрос: я хочу, чтобы перед запуском основной формы, показалась другая, которая предоставит информацию о программе; реализую я это следующим образом :
procedure TForm1.FormCreate(Sender: TObject);
begin
With TForm2 do
begin
Showmodal;
//...
end;

На что господа разработчики Borland Delphi 7.0 в лице своей программы мне ответили : This form of method call only allowed for class methods. Но ведь обе формы и есть классы ? Или именно в этом и проблема ?
volvo
Цитата
Но ведь обе формы и есть классы ?
Проблема не в этом... Проблема - в том, что ты пытаешься вызвать метод, как
{имя_типа_класса}.метод,
а надо -
{имя_экземпляра}.метод

Первый способ возможет только с class-methods, то есть методами, описанными вот в таком стиле:
class function Supports(Operation: string): Boolean; virtual;
, метод ShowModal описан по другому...
Tan
то есть это экземпляр ?

procedure TForm1.FormCreate(Sender: TObject);
var TForm2 : TForm;
begin
With TForm2 do
begin
Showmodal;
//...
end;

Но в этом случае программа показывает основную форму.
volvo
А вот так
TForm2 := TForm.Create(Self); // <--- Создавать кто будет?
try
TForm2.ShowModal;
finally
TForm2.Free;
end;


?
klem4
Цитата
я хочу, чтобы перед запуском основной формы, показалась другая, которая предоставит информацию о программе;


Может лучше юзать MessageDlg ?
Tan
Просто я хотел хелп написать, а Message dlg наверно маловат для этих целей, может есть что - то другое более подходящее для хелпа ?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.