MasterScada + OPC Server свой проблема коннекта |
Ответить |
Автор | |
Новичок Присоединился: 04 Июнь 2012 Категория: Программист Online Status: Offline Публикации: 1 |
Опубликовано: 04 Июнь 2012 21:31 |
Здравствуйте!
Измучался совсем. Может кто подскажет? Уже несколько месяцев на объекте: MasterScada 3.4, Win 7 Домашняя расширенная. OPC писанный на Delphi 7. Через 1-3 суток постоянной работы в OPC сервере возникает ошибка: Access violation at address 76F41FFE in module 'ntdll.dll'. Read of address 4ABA0DAA в при освобождении памяти: CoTaskMemFree(mClientID). Если убрать лишнее, то примерно: 1. mClientID := CoTaskMemAlloc(dwCount * sizeof(DWORD)); 2. IOPCDataCallback(OPCGroup.DataCallback).OnDataChange(dwTransactionID, OPCGroup.ClientGroup, OPC_QUALITY_GOOD, RefreshResult, dwCount, @mClientID^, @mVariant^, @mQuality^, @mTime^, @mError^); 3. CoTaskMemFree(mClientID); CoTaskMemFree(mClientID); и т.д. Ошибка возникает при освобождении объектов: mClientID, mVariant, mQuality, mError. Иногда одновременно в нескольких последовательно. Значения указателей от создания до уничтожения не меняются. Приложение, раумеется многопоточное. Память не жрет. Основное потребление - порядка 3-4мб судя по TaskManager. Даже если память отжирал бы, то ошибка была бы другой - например Out of memory. Такое ощущение, что MasterScada или промежуточный модуль операционки блокирует указатели, но возвращается из функции OnDataChange. Или начинается общий и приложение через некоторое время слетает. Благодарен за любые умные мысли:-) |
|
Действительный член Присоединился: 11 Октябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 392 |
|
А с другими СКАДАми так же работает, а что ИНСАТ говорит по этому поводу ?
|
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |