Автор
|
Тема: проблема с потоком и DDE
|
Ksylon |
опубликован 31-05-2001 10:04 MSK
Проблема в следующем: У меня в проге данные поступаю по DDE раз в секунду в виде строки.В потоке же эта строка сохраняется в IB-базешку.После, примерно, 32000 сохранений DDE перестает принимать данные.Прога перестает отрабатывать OnChange у DDE.Exception'ы не выбрасвает.Память вроде не жрет.Дескрипторы тоже.Начинаешь дебагерить прога гоняет неизвестно где. Поведайте где ошибка. Лично я уже думаю, что в ДНК 8-((
|
OlegN
|
опубликован 01-06-2001 14:14 MSK
На какой OS ты запускаешь прогу ? Тебя не настораживает число 32000 слишком уж оно круглое. Другими словами вначале прога работает как надо, но после ~32000 передач строк по DDE она начинает глючить. Проверь, как у тебя создаются/убиваются string и data handl-ы DdeCreateStringHandle/DdeFreeStringHandle DdeCreateDataHandle/DdeFreeDataHandle Посмотри есть ли ограничения на количество одновременно открытых string/data handl-ов Может ты где-то блокируешь их DdeKeepStringHandle а потом не освобождаешь блокировку в этом случае DdeFreeStringHandle может не сработать. А вообще-то DDE вещь настолько геморройная и неудобная, причем может по разному работать на Win NT/2000/9x. Так что советую сделать COM exe сервер, вместо DDE сервера. |