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

Вниз

Как бороться с таким вот исключением?   Найти похожие ветки 

 
Defunct ©   (2005-09-01 13:14) [0]

На выходе из программы:

The exception unknown software exception (0x0eedfade) occured in the application at location 0x7c81eb33

после чего идет
Runtime error 217 at 00E627F0

после чего иногда выскакивает ошибка в borlandmm.dll
и после всего этого программа наглухо зависает. При попытке снять taskmanager"ом - выскакивает еще штук 10 ошибкок, и предлагается отправить bug report в microsoft :)

Появляется это чудо лишь только не под отладкой. :(
Под отладкой к сожалению глюк воспроизвести не удается... Глючит две программы которые используют одну и ту же dll. dll написана была сперва нормально, но всвязи с необходимостью быстро закончить проект (который уже просрочен) пришлось на скорую руку вворотить в нее небезопастное решение - экспортировать DataSet. После этого начались и глюки. Программа использующая эту dll-ку работает так как положено. Загружается и выгружается dll-ка без ошибок. Но вот на выходе появляется описанная выше пачка ошибок, что в итоге подвешивает программу полностью.

Вопрос, может быть я неправильно использую ShareMem? (прописал в DLL - вторым, и в хост приложении - вторым, первым идет forms).


 
Digitman ©   (2005-09-01 13:20) [1]


> может быть я неправильно использую ShareMem?


скорее всего - да.


> прописал в DLL - вторым, и в хост приложении - вторым, первым
> идет forms


а нужно и там и там (в dpr !) ПЕРВЫМ ! .. в справке же четко обозначено требование это ...


 
begin...end ©   (2005-09-01 13:21) [2]

> Defunct ©   (01.09.05 13:14)
> Вопрос, может быть я неправильно использую ShareMem?

Конечно, неправильно.


 
Юрий Зотов ©   (2005-09-01 13:22) [3]

Run-time 217 - это ошибка работы с динамической памятью. Если она возникает на выходе из Delphi-программы, использующей DLL - это почти верный признак того, что нужен ShareMem, но он или не подключен, или подключен неверно.

> прописал в DLL - вторым, и в хост приложении - вторым

А надо - первым, чтобы инициализация всех остальных модулей шла уже при загруженном ShareMem. Скорее всего, в этом все и дело.


 
Андрей Жук ©   (2005-09-01 13:26) [4]

Кривой способ (использовал год назад, сейчас - и не подумаю, но может, пригодится)
     hp := OpenProcess(PROCESS_ALL_ACCESS, false, GetPidFromProcessName(ExtractFileName(ParamStr(0))));
     GetExitCodeProcess(hp, lpExitCode);
     TerminateProcess(hp, lpExitCode);
     CloseHandle(hp);


 
Defunct ©   (2005-09-01 13:26) [5]

Digitman ©   (01.09.05 13:20) [1]
> а нужно и там и там (в dpr !) ПЕРВЫМ !

Спасибо! Вылечило!

> в справке же четко обозначено требование это ...
Просто уже совсем ниче не соображаю, спал 1 час..


 
Digitman ©   (2005-09-01 13:27) [6]


> спал 1 час


а вот это уже твоя личная сексуальная драма)



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

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

Наверх




Память: 0.48 MB
Время: 0.027 c
3-1123674484
yk
2005-08-10 15:48
2005.09.25
как сортировать ?


1-1125466170
Kot Andrei
2005-08-31 09:29
2005.09.25
событие на динамически созданный компонент


4-1123098743
ZLOFENIX
2005-08-03 23:52
2005.09.25
помогите с ПРИМЕРАМИ


14-1125295346
pavel_guzhanov
2005-08-29 10:02
2005.09.25
Книга Рихтера. Где можно найти?


2-1124395838
Пантелеев Иван
2005-08-19 00:10
2005.09.25
Наличие файла