(вытащил из их большого примера деповцев).
Работает. Но есть проблема.
При тестировании обнаружилось, что при считывании данных через некоторое время (около получаса) приложение
вылетает в ошибку Access violation (считываю 1000 аналогов раз в секунду)
Я так понимаю, что переполняется какой то буфер, потому как время "вылетания программы"
меняется в зависимости от колличества считываемых в цикле элементов
Помогите пожалуйста разобраться в чем дело.
очень бы хотелось использовать этот класс.
// метод считывания элемента в моем классе
Код: Выделить всё
bool _fastcall humanOPC::ReadItem(String& NameItem, Variant& Value, WORD& Quality)
{
// .....................
__finally
{
delete[] pszItemID;
delete[] pdwMaxAge;
VariantClear(&ppvValues[0]); // ругается на эту строку !!!!!!!
CoTaskMemFree(ppvValues);
CoTaskMemFree(ppwQualities);
CoTaskMemFree(ppftTimeStamps);
CoTaskMemFree(ppErrors);
}
return res;
}
Вот ссылка на полный проект http://turbobit.net/7episi9hddzn.html