Текущий архив: 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.46 MB
Время: 0.039 c