Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.29;
Скачать: CL | DM;

Вниз

Как правильно закрыть форму   Найти похожие ветки 

 
snake1977   (2004-01-16 10:21) [0]

Здравствуйте! Подскажите пожалуйста, я посмотрел пример создания модальной формы из статьи о создании ресурсов в DLL, на этом сайте. там написано что если используется MDIChild то необходимо "...запомнить дескриптор формы, чтобы его потом использовать..." , но как его запомнить и как использовать ничего не сказано :((
Подскажите, как же всетаки правильно закрыть MDIChild окно, созданное и открытое из динамически загруженной DLL. Закрываться оно должно самой DLL перед выгрузкой.


 
Семен Сорокин ©   (2004-01-16 10:25) [1]

как же всетаки правильно закрыть MDIChild окно
Close?


 
snake1977   (2004-01-16 10:32) [2]

Закрывает, тока при Close, вылетает Access Violation


 
Anatoly Podgoretsky ©   (2004-01-16 10:38) [3]

У тебя где то ошибка в программе.


 
snake1977   (2004-01-16 10:41) [4]

это понятно что где то ошибка, я так подозреваю что я не правильно открываю MDIChild окно в DLL.
Посмотрите правильно лия это делаю :
Procedure Start(App:TApplication; Frm:TForm); export; StdCall;
var DllProc: Pointer;
Begin
Started:=true;
Application:=App;
PrForm:=TPrForm.Create(Frm);
PrForm.Show;
End;

Procedure Stop; export; StdCall;
Begin
ProtForm.Close;
End;


 
Семен Сорокин ©   (2004-01-16 10:49) [5]

передавай не объекты TApplication и TForm, а их дескрипторы
Application.Handle и MainMDIForm.Handle.
Переприсваивай соответсвенно дексрипторы.


 
snake1977   (2004-01-16 11:08) [6]

передал !!! тепрь вылетает при создании формы :(((((


 
alex_*** ©   (2004-01-16 11:15) [7]

А Owner у PrForm теперь кто?


 
Семен Сорокин ©   (2004-01-16 11:17) [8]

snake1977 (16.01.04 11:08) [6]
передал !!! тепрь вылетает при создании формы :(((((

приведи код, строчку где вылетает и ошибку.


 
Anatoly Podgoretsky ©   (2004-01-16 11:21) [9]

Какие то странные глобальные переменные. Неизвестно что это такое, где они, открывается одно, закрывается другое.
Другими словами у тебя не одна ошибка в программе, а куча.


 
alex_*** ©   (2004-01-16 11:24) [10]

Кстати насчет глоб. переменных - обрати на это внимание, не создается ли по PrForm несколько объектов.


 
Digitman ©   (2004-01-16 11:25) [11]

а где здесь хоть какое-то упоминание о том, что форма показывается модально ?

визуализация формы в мод.режиме осуществляется вызовом ShowModal

и, как помнится, MDIChild-форму нельзя показать модально

вот фрагмент тела метода ShowModal :

if Visible or not Enabled or (fsModal in FFormState) or
( FormStyle = fsMDIChild) then
raise EInvalidOperation.Create(SCannotShowModal);



Страницы: 1 вся ветка

Текущий архив: 2004.01.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
14-93683
sancho
2004-01-01 21:39
2004.01.29
А что будет если ...


1-93469
TankMan
2003-12-22 20:02
2004.01.29
Как хранить образ файла в памяти?


3-93378
Брат
2003-12-31 10:26
2004.01.29
Как в таблице dBase создать поле Numeric (12,2)?


3-93386
Silver_
2003-12-30 11:22
2004.01.29
FastReport - Как узнать что узер отчет распечатал


1-93414
Plt
2004-01-19 12:41
2004.01.29
язык интерфейса