DVD |
Отправлено: 21.10.2004, 02:37 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 33
|
Есть dll в проекте которой стандартно созданный Unit для dll
и подключен юнит с формой. Функция в dll -init(TComponent* Owner)
TForm2 *Form = new TForm2(Owner);
Form->ShowModal();
delete Form;
Т.е. когда вызываешь форму модально все ок, она появляется, потом ее закрываешь и она уничтожается.
Если же поставить Show() -она появлятся и исчезает сразу.
а если убрать delete Form, то прога вылетает с ошибкой.
Мне надо вызвать ее не модально, и что бы она уничтожалась при закрытии.
А еще лучше бы вызвать ее, как дочернюю mdi.
я передаю форму родительскую в этот init, род. форма модальная
в dll делаю ее свойства, как дочерняя mdi, а прога кричит, что нет ни одного mdi окна.
Отредактировано DVD — 21/10/2004, 11:43 |
|
Nick |
Отправлено: 21.10.2004, 11:12 |
|
Машинист паровоза
Группа: Участник
Сообщений: 247
|
В Dll
что-бы уничтожалась при закрытии.
void __fastcall TForm2::FormClose(TObject *Sender,
TCloseAction &Action)
{
Action = caFree;
}
на счат mdi не знаю
не ндравится мне он |
|
Sl@Sh |
Отправлено: 21.10.2004, 13:55 |
|
Мастер участка
Группа: Участник
Сообщений: 383
|
Лично я делаю так :
Application->CreateForm(__classid(TForm1), &Form1);
Form1->Show();
Form1->Free();
|
|
Sl@Sh |
Отправлено: 22.10.2004, 09:10 |
|
Мастер участка
Группа: Участник
Сообщений: 383
|
Поправка : нужно ещё подключить модуль формы : #include "Form1.h"
|
|