Главная страница
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.016 c
1-93476
_dEMOn
2004-01-15 20:46
2004.01.29
ListBox.Items


1-93568
Mazer
2004-01-16 14:40
2004.01.29
Корректное отображение формы, вызванной из dll...


11-93411
tamerlan311
2003-05-11 15:36
2004.01.29
BAPDriveBox Version: 1.01 - bugs


3-93355
Sergey_Masloff
2003-12-30 21:10
2004.01.29
FIBPlus и выполнение скрипта


6-93614
Delpher_Gray
2003-11-20 15:18
2004.01.29
Определение имени удаленного компа