Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];

Вниз

Runtime Err in DLL Library Module on Terminate !   Найти похожие ветки 

 
Конопелька   (2006-03-01 23:01) [0]

Доброго времени суток уважаемые мастера !
У меня большая проблема с динамическими библиотеками !
Я создал приложение у которого есть главное окно которое в последствии запуска вызывает остальные нужные формы ! Главное приложение запуска используеться как SplashScreen и на нем еще храниться обьект TPopupMenu который я использую для меню в System Tray, соответсвенно из этого меню и запускаються остальные формы ! При создании и работе приложения нивозникает никаких проблем ! Но при выключении появляеться ошибка с нулевым адресом и после нее еще и ошибка Run Time ! Модуль ShareMem использую как написано в литературе ! Вот метод использования функции SystemTray:

Procedure Tlogoform1.WndProc(Var Msg:TMessage);
Var P:TPoint;
Begin
If Msg.Msg=WM_USER+1
 then Case Msg.lParam of
  WM_LbuttonDblClk:
   begin
   ExitDialog;
   end;
  WM_RBUTTONDOWN:
   begin
   SetForegroundWindow(Handle);
   GetCursorPos(P);
   TrayMenu.Popup(P.X,P.Y);
   PostMessage(Handle,WM_NULL,0,0);
  End;
 end;
inherited;
end;

procedure ShellNotify;
begin
With logoform1.FIconData do
begin
cbSize:=SizeOf(logoform1.FIconData);
Wnd:=logoform1.Handle;
uID:=100;
uFlags:=NIF_MESSAGE+NIF_ICON+NIF_TIP;
uCallbackMessage:=WM_USER+1;
hIcon:=Application.Icon.Handle;
StrPCopy(szTip,Application.Title)
end;
Shell_NotifyIcon(NIM_ADD,@LogoForm1.FIconData);
end;


Функция вызова хранилась в библиотеке и пробывал вызывать форму двумя способами:

procedure show_mainform;stdcall;
var mainform1:tmainform1;
begin
mainform1:=tmainform1.create(application);
mainform1.show;
end;


и второй тот же только вместо первой строки внутри процедуры:

application.createform(Tmainform1,mainform1);

а процедуры завершения читал в одной книге что достаточно процедуры FREE над формой и все ! а в другой написано что библиотека ее полностью не освобождает и что нужно использовать метод mainform.RELEASE; и модуль ShareMem даже млин .. в SplashForm запихнул ! ненаю чо делать !! все время при завершении ошибки ! :(((
Подскажите ПОЖУЛУЙСТА как мне правильно использовать формы из динамических библиотек и какие метожы к ним использовать !! Или что у меня не так ! :(((
А еще чуть не забыл компилятор 2005 Architect может он с ошибками !? :(
Заранее большое спасибо !


 
API   (2006-03-02 01:29) [1]

и что нужно использовать метод mainform.RELEASE

Попробуйте:

MainForm.Release;
Application.ProcessMessages;


и только после этого - FreeLibrary.

P.S. На самом деле, очень невнятно описано и слишком много восклицательных знаков.



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

Форум: "Основная";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.039 c
15-1141744728
mr.HelpMe
2006-03-07 18:18
2006.04.02
Что делать если я забыл свой пароль? (к админам)


15-1141634591
Yegorchic
2006-03-06 11:43
2006.04.02
Минимизация функции нескольких переменный


11-1123157267
Muller
2005-08-04 16:07
2006.04.02
Как заменить подменю на другое?


6-1134981691
SergP.
2005-12-19 11:41
2006.04.02
Шифруются ли данные передаваемые на сервер по HTTPS в GET-запросе


11-1122315580
AlexLumpov
2005-07-25 22:19
2006.04.02
OnClose в модальной форме на KOL





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