Передача массивов в DCOM
От: Андрей А. Тельнов  
Дата: 16.04.02 23:04
Оценка:
Проблема в следующем: У меня есть COM сервер, у которого есть функция, принимающая один параметр — массив вариантов (STDMETHODIMP)TSampleCOMSvrImpl::SampleFunction(TVariantInParam vArray)
{
return S_OK;
}
и есть клиент который периодически вызывает эту функцию: TCOMISampleCOMSvr g_Svr;
void __stdcall Test()
{
Variant V(OPENARRAY(int, 64*1024 — 1), varByte);
LPVOID p = V.ArrayLock();
// запролняю массив
V.ArrayUnlock();
g_Svr->SampleFunction(V);
}
Все замечательно работает, только вот диспетчер задач показывает, что на клиенте постоянная утечка памяти (т.е. с каждой минутой работы памяти клиенту требуется все больше и больше), через несколько часов работы виндовоз начинает кричать об отсутствии места в файле подкачки. Если же строку с вызовом g_Svr->SampleFunction(V); закоментировать, то ничего подобного не происходит. Кто знает, как бороться с этой проблемой? Помогите.
Заранее благодарен.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.