Главная страница
    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.46 MB
Время: 0.008 c
1-93568
Mazer
2004-01-16 14:40
2004.01.29
Корректное отображение формы, вызванной из dll...


9-93323
Xandr
2003-07-14 08:03
2004.01.29
DelphiX MIDI


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


1-93465
INTAARI
2004-01-12 10:47
2004.01.29
Как правильно вести log файл программы???


4-93739
Xtz
2003-11-20 18:16
2004.01.29
Подскажите где взять нормальную инфу по WinApi (win32.hlp рус)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский