IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

 
 Ответить  Открыть новую тему 
> FormCreate, ошибка
Tan
сообщение 29.04.2007 10:14
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

Репутация: -  10  +


У меня к вам следующий вопрос: я хочу, чтобы перед запуском основной формы, показалась другая, которая предоставит информацию о программе; реализую я это следующим образом :
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. Но ведь обе формы и есть классы ? Или именно в этом и проблема ?

Сообщение отредактировано: Tan - 29.04.2007 10:15


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 29.04.2007 10:45
Сообщение #2


Гость






Цитата
Но ведь обе формы и есть классы ?
Проблема не в этом... Проблема - в том, что ты пытаешься вызвать метод, как
{имя_типа_класса}.метод,
а надо -
{имя_экземпляра}.метод

Первый способ возможет только с class-methods, то есть методами, описанными вот в таком стиле:
class function Supports(Operation: string): Boolean; virtual;
, метод ShowModal описан по другому...
 К началу страницы 
+ Ответить 
Tan
сообщение 29.04.2007 10:54
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

Репутация: -  10  +


то есть это экземпляр ?

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

Но в этом случае программа показывает основную форму.

Сообщение отредактировано: Tan - 29.04.2007 10:55


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 29.04.2007 11:00
Сообщение #4


Гость






А вот так
TForm2 := TForm.Create(Self); // <--- Создавать кто будет?
try
TForm2.ShowModal;
finally
TForm2.Free;
end;


?

Сообщение отредактировано: volvo - 29.04.2007 11:01
 К началу страницы 
+ Ответить 
klem4
сообщение 29.04.2007 12:57
Сообщение #5


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


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


Может лучше юзать MessageDlg ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Tan
сообщение 29.04.2007 13:16
Сообщение #6


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

Репутация: -  10  +


Просто я хотел хелп написать, а Message dlg наверно маловат для этих целей, может есть что - то другое более подходящее для хелпа ?


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.06.2025 17:35
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"