Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];

Вниз

Надо после QueryInterface как то уничтожать полученый интерфейс ?   Найти похожие ветки 

 
Chlavik ©   (2004-10-28 16:41) [0]

Смотрите тему ..


 
vuk ©   (2004-10-28 16:43) [1]

Интерфейс нельзя "уничтожить". Нет такого понятия.


 
Digitman ©   (2004-10-28 16:57) [2]


> Chlavik ©   (28.10.04 16:41)


ты сморозил глупость.
поепробуй сначала, не торопясь ..


 
Polevi ©   (2004-10-28 17:09) [3]

QueryInterface::Release


 
Гаврила ©   (2004-10-28 17:13) [4]

При вызове  QueryInterface произойдет _AddRef
А _Release произойдет по потере полученной ссылки


 
vuk ©   (2004-10-28 17:26) [5]

И что же "уничтожает" Release?


 
Silver Alex ©   (2004-10-28 17:58) [6]

интерфейс удаляется просто

....
MyInterfice:=nil;


 
Chlavik ©   (2004-10-28 17:59) [7]

А почему же надо выполнять Newinterface:=nil; ???


 
Polevi ©   (2004-10-28 18:05) [8]

>vuk ©   (28.10.04 17:26) [5]
зависит от реализации IUnknown объектом :)


 
jack128 ©   (2004-10-28 18:13) [9]

Chlavik ©   (28.10.04 17:59) [7]
А почему же надо выполнять Newinterface:=nil; ???

можно не выполнять. Дельфя сама за тя все сделает.


 
vuk ©   (2004-10-28 18:14) [10]

to Polevi ©   (28.10.04 18:05) [8]:
Еще о текущем счетчике ссылок стоит помнить. Так что в результате вызов Release может что-то уничтожить или может ничего не уничтожить. А может и сломать что-нибудь. И вообще, прямой вызов Release - не то средство, которым стоит направо и налево пользоваться.


 
Polevi ©   (2004-10-28 18:30) [11]

>vuk ©   (28.10.04 18:14) [10]
это все понятно, см [8]
насчет пользоваться - смотря на чем писать клиента


 
VMcL ©   (2004-10-28 23:59) [12]

>>Chlavik ©  (28.10.04 16:41)

http://delphimaster.net/view/10-1098678827/


 
Chlavik ©   (2004-10-29 00:26) [13]


> vuk ©   (28.10.04 16:43) [1]
> Интерфейс нельзя "уничтожить". Нет такого понятия.


НУ а теперь что скажеш ?


 
jack128 ©   (2004-10-29 00:41) [14]

Chlavik ©   (29.10.04 0:26) [13]
НУ а теперь что скажеш ?

А что Вук должен сказать?? Release - это не уничтожение интерфейса. "Интерфейс нельзя "уничтожить. Нет такого понятия."(с) Vuk. Уничтожить можно объект реализующий этот интерфейс. но Release и этого не делает. Он лишь говорит о том, что данный интерфейс клиенту больше не нужен, а вот уничтожаться или нет - это решает сам объект.


 
Chlavik ©   (2004-10-29 02:13) [15]

Я всё равно не могу понять ... QueryInterface выделяет какуюто память ?


 
jack128 ©   (2004-10-29 02:37) [16]

Chlavik ©   (29.10.04 2:13) [15]
Зависит от его реализации.  В той, что представлена в TInterfacedObject - нет.


 
jack128 ©   (2004-10-29 02:40) [17]

Chlavik ©   (29.10.04 2:13) [15]
Вот, почитай книженцию..Думаю многое прояснит. http://www.bcbdev.ru/winapi/documentation/inside_com.zip


 
vuk ©   (2004-10-29 10:59) [18]

to Chlavik ©   (29.10.04 02:13) [15]:
>QueryInterface выделяет какуюто память ?
Не выделяет. Только возвращает ссылку на интерфейс.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.033 c
14-1098704369
DiamondShark
2004-10-25 15:39
2004.11.14
Я тут как-то книжку обещал...


1-1098893884
333and
2004-10-27 20:18
2004.11.14
Аналог функции на С++ в Delphi


4-1097043687
Nalexey
2004-10-06 10:21
2004.11.14
Зависание при выполнении ZwQueryObject


8-1092073479
Nomolos
2004-08-09 21:44
2004.11.14
Длина wave


1-1099343328
ospa
2004-11-02 00:08
2004.11.14
как перехватить нажатие клавиш на клавиатуре?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский