Главная страница
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.012 c
3-93372
ДЕД
2003-12-31 15:08
2004.01.29
ошибка при обновлении


1-93514
Kinderrr
2004-01-18 21:57
2004.01.29
Класс для работы со скинами WinAmp


1-93453
pASkdua
2004-01-15 18:35
2004.01.29
Возможна ли печать <B>всего</B> содержимого SrcollBox?


1-93520
hStas32ExA
2004-01-18 17:54
2004.01.29
Компонент


1-93419
Вомбат
2004-01-16 15:56
2004.01.29
Запись / чтение компоненты из ресурса