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

Вниз

NoModalForm в Dll и Exception   Найти похожие ветки 

 
half_litre   (2004-07-15 12:18) [0]

Ситуация :

ExeNoModalForm(из EXE-ка) вызывает procedure RunNoModalForm
(в DLL-ке), которая создает DllNoModalForm.
//---------------------------------------------
procedure ExeNoModalForm.OnClose(...)
.....
.....
 try
    if (hndlDll<>-1) and (hndlDll>HINSTANCE_ERROR) then begin
       if (@DoneDll<>nil) then DoneDll;
       FreeLibrary(hndlDll);
    end;
 except
 end;
.....
.....
 Action:=caFree;
end
//---------------------------------------------
procedure DoneDll; //(в DLL-ке)

.....
.....
   if DllNoModalForm <>nil then DllNoModalForm.Close;

   Application.Handle:=OldAppHandle;
   Screen:=OldScr;
.....
.....
end;
//---------------------------------------------
procedure DllNoModalForm.OnClose(...)
.....
.....
 Action:=caFree;
end
//---------------------------------------------
Сам трабл :
Если закрыть ExeNoModalForm то все OK.
Если закрыть DllNoModalForm и с небольшой паузой закрыть
   ExeNoModalForm то тоже все OK.
Если закрыть DllNoModalForm и быстро закрыть ExeNoModalForm
   то Exception.

Замечено что если в Dll передовать не Application.Handle а сам
обьект Application во всех ситуация гуд. Но нужен именно
Application.Handle, без него в DllNoModalForm не
срабатывает Hint"ы.

Весь полный текст не привожу (сделаю по необходимости),
уж больно длинный. Всем зарание респект.


 
half_litre   (2004-07-15 12:59) [1]

Народ дайте хоть наводку.(не "на водку")


 
АлексейК   (2004-07-15 13:26) [2]

Если закрыть ExeNoModalForm то все OK.
При открытой DllNoModalForm? Все нормально?
И потом в конкретно ошибка и на какой строчке кода возникает Acces Violation?
И в DLL как формочка то создается.


 
half_litre   (2004-07-15 13:34) [3]

>Если закрыть ExeNoModalForm при открытой DllNoModalForm? Все >нормально?
Точно так

>И в DLL как формочка то создается.:
DllNoModalForm:=TDllNoModalForm.Create(Application);
DllNoModalForm.Show;



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

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

Наверх




Память: 0.47 MB
Время: 0.05 c
3-1089014270
Ky3bka
2004-07-05 11:57
2004.08.01
Двоеточие в удаленной процедуре


1-1089904797
ko
2004-07-15 19:19
2004.08.01
Помогите с SaveDialog


3-1089195030
sniknik
2004-07-07 14:10
2004.08.01
Не запускается сервис базы (оракле)


1-1090103668
Volk
2004-07-18 02:34
2004.08.01
Слово


14-1089718802
Aldor_
2004-07-13 15:40
2004.08.01
Как работать с IDL файлами в Delphi?