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

> ВНИМАНИЕ!

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

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> FormCreate, ошибка
сообщение
Сообщение #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 -


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


Гость






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

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


Профи
****

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

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


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

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

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

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


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


Гость






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


?

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


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

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

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


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


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


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


Профи
****

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

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


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


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

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

 





- Текстовая версия 24.09.2020 22:52
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name