Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

помогите разобраться с глюком.


Starkom ©   (2002-10-02 11:26:00) 

был проект - простая прилада для системы, написанный на дельфях. Запускался, как простой екзешник. Начали разрабатывать новую систему и эту приладу понадобилось встроить в код системы. Так как новая система пишется на Билдере, приладу засунули в dll.
procedure RunGen();
begin
if ConnectDataBase() then
begin
MainForm:=TMainForm.Create(Application);
MainForm.ShowModal();
MainForm.Release;
end;
end;

exports
RunGen;

вместо
if ConnectDataBase() then
begin
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end;

вызов прилады(всякие проверки опущены) -
HINSTANCE Dll = LoadLibrary("ProjectDLL.dll");
void __fastcall (__import *Generator)(void);
Generator = (void __fastcall (__import *)(void)) GetProcAddress(Dll,"RunGen");
Generator();
FreeLibrary(Dll);

Проблема в том, что при запуске прилады из-под системы,ее последующем запуске и закрытии MainForm - система валится.
Понять почему такое несчастье происходит я не могу. Помогите, пожайлуста!!!


Starkom   (2002-10-02 12:17:00) [1]

хмм, вообще закомментил тело функции RunGen - при вызове из Билдерного проекта все равно валится.


Starkom   (2002-10-02 11:56:00) [2]

так а в паскале же по умолчанию все fastcall


Smithson   (2002-10-02 11:50:00) [3]

Fast call ли она?


Наверх

Титульная страница Поиск, карта сайта Написать письмо