Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Invoke в 98 и ХР  (Прочитано 7932 раз)
0 Пользователей и 1 Гость смотрят эту тему.
cooler
Участник

ru
Offline Offline
Пол: Мужской

« : 16-12-2003 14:49 » 

Код:

  HRESULT hr;
  VARIANT vRet;
  .....
  VariantInit)&vRet:;
  hr=pdisp->Invoke)dispid, IID_NULL, LOCALE_USER_DEFAULT,DISPATCH_METHOD |  DISPATCH_PROPERTYGET, &dispparam,  &vRet,  NULL,  NULL:;
  if )FAILED)hr::
  |  ........
  "
  SafeArrayDestroy)vRet.parray:;
 




При работе в 98 Invoke работает нормально,
при работе в ХР тож нормально,но сжирается каждый раз память после вызова
Invoke.Думаю,что-то с возвратом выходного массива(vRet),поставил его уничтожение-
не помогает. Где может быть собака зарыта?
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #1 : 16-12-2003 18:31 » 

cooler, попродробнее, в чем пишешь, чего пишешь, а то я по отрывку не понял. Туплю наверное Улыбаюсь
Записан

А птичку нашу прошу не обижать!!!
NetRaider
Гость
« Ответ #2 : 17-12-2003 07:29 » 

Цитата

при работе в ХР тож нормально,но сжирается каждый раз память после вызова
Invoke.


Каким образом ты определяешь что память "сжирается" ?
Записан
cooler
Участник

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 17-12-2003 08:21 » 

В отладчике иду и смотрю с помощью проги,тестирующей память
(я использую Taskinfo2000) и как только прохожу Invoke,
то херак - память увеличилась. В 98 такого нет!

Пишу на VC6.4, а приведенный код - это кусок процедуры,которая обращается к COM - серверу.
Записан
NetRaider
Гость
« Ответ #4 : 17-12-2003 08:41 » 

Цитата

В отладчике иду и смотрю с помощью проги,тестирующей память
(я использую Taskinfo2000) и как только прохожу Invoke,
то херак - память увеличилась. В 98 такого нет!


Скорее всего никаких глюков с выделением/удалением памяти нет.
А циферки в Taskinfo2000 изменились -  так это Windows со свопом манипулирует. Всякими task manager'ами для обнаружения утечек памяти лучше не пользоваться (особенно в NT) - данные неактуальны.

Правильнее будет использование всяких _CrtDumpMemoryLeaks, IMallocSpy и иже с ними.
Записан
cooler
Участник

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 17-12-2003 12:56 » new

Понял,спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines