Главная страница
    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.007 c
1-93501
Hex0DesiMaL
2004-01-19 08:59
2004.01.29
Скрыть прогу в панли задач


1-93556
-=Mr.Cold=-
2004-01-17 14:47
2004.01.29
Окно как в FlashGet e


1-93546
Сережа
2004-01-17 23:31
2004.01.29
Таймер


14-93693
Nous Mellon
2004-01-06 12:22
2004.01.29
Видеоголоволомка :)


3-93389
belyh
2003-12-30 00:54
2004.01.29
СИМВОЛ в SQL





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский