Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.72 MB
Время: 0.034 c
14-1098489212
SergP
2004-10-23 03:53
2004.11.14
Проблемка с JS. Мож кто знает?


4-1096882304
Дмитрий Ботвин
2004-10-04 13:31
2004.11.14
Объём оперативки на сетевом компе


1-1099130123
Artemiy2004
2004-10-30 13:55
2004.11.14
Как скопировать небольшую часть картинки в новый битмап?


1-1099026081
UserUserov
2004-10-29 09:01
2004.11.14
ListBox


1-1099327256
Ralf
2004-11-01 19:40
2004.11.14
Перетаскивание окон




   Наверх