Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
ВнизDll и TThread Найти похожие ветки
← →
Юрий Зотов © (2004-11-01 13:22) [160]Всю ветку читать не стал - слишком длинная. Поэтому просто скажу, в чем тут, похоже, дело и сорри, если повторю кого-то или скажу "не в кассу".
Проблема XP-DLL-отладчик известная (хоть в однопоточном, хоть в многопоточном приложении). По какой-то причине отладчик не подгружает отладочную символьную информацию из DLL и поэтому брейкпойнты в DLL не срабатывают (хотя код работает). Лечится это либо установкой эксперта IDE (встречал в сети, но где - не помню), либо так.
1. В DLL сразу после главного begin пишем любой MesssageBox -что угодно, лишь бы тормознуть программу.
2. Когда этот MessageBox появится, переключаемся в Delphi, жмем Ctrl-Alt-M, в появившемся окне (слева внизу) находим свою DLL, жмакаем по ней правой кнопкой мыши и выбираем Reload Symbol Table. Если все прошло ОК, то справа увидим, что отладочная информация подгрузилась.
3. В MessageBox жмем OK - теперь брейкпойнты должны работать.
← →
DiamondShark © (2004-11-01 13:24) [161]Да нет там никаких проблем икспи-отладчик...
← →
Digitman © (2004-11-01 13:32) [162]
> DiamondShark © (01.11.04 13:04) [158]
> Не-а. У него там WaitFor стоит.
WaitFor в таком контексте [см. 154] д.б. бы вызвать дэдлок, однако автор ничего не говорит на тему якобы "зависания" приложения, вызывающего ДЛЛ по LoadLibrary.
← →
DiamondShark © (2004-11-01 13:40) [163]
> Digitman © (01.11.04 13:32) [162]
Мало ли что автор не говорит, он свой реальный код тоже долго не говорил.
Тем не менее, его код на LoadLibrary именно зависает.
← →
Reindeer Moss Eater © (2004-11-01 13:50) [164]Тем не менее, его код на LoadLibrary именно зависает.
А еще он говорит, что в консольном приложении все нормально.
И никакой waitfor ему не помеха.
← →
Digitman © (2004-11-01 13:58) [165]что-то подустал я тут из пустого в порожнее переливать ..
автор давно уже ни мычит ни телится
← →
DiamondShark © (2004-11-01 14:28) [166]
> Reindeer Moss Eater © (01.11.04 13:50) [164]
> А еще он говорит, что в консольном приложении все нормально.
> И никакой waitfor ему не помеха.
А мы на слово никому не верим.
Проблема воспроизведена, причина описана, пути решения намечены.
Ждём-с реакции автора...
← →
dms_main © (2004-11-02 22:11) [167]Господа! Все оказалось намного проще....
Execute выполняется после begin...end. библиотеки, правда есть одно но - но это не важно.
Решается так :
Создаем еще один класс потока,
create его ставим в begin...end. библиотеки, на его execute забиваем create того кода что был в begin ... end. библиотеки -
и все у нас работает прекрасно.
Спасибо всем кто принял участие в решении вопроса.....
Страницы: 1 2 3 4 5 вся ветка
Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
Память: 0.72 MB
Время: 0.055 c