Re[10]: Интерфейсы Delphi грязный хак.
От: Ночной Смотрящий Россия  
Дата: 18.12.10 00:23
Оценка:
Здравствуйте, hattab, Вы писали:

H>Только это будет уже не COM-интерфейс.


Интерфейс, который прекрасно работает в чистом СОМ API, может не являтся при этом СОМ интерфейсом?

P.S. По ссылке просто упрощение, чтобы не забивать на первом этапе голову ненужными подробностями.
Re[4]: Интерфейсы Delphi грязный хак.
От: Ночной Смотрящий Россия  
Дата: 18.12.10 00:27
Оценка: :)
Здравствуйте, hattab, Вы писали:

H>С чего это вдруг? В VCL полно мест где используются интерфейсы, и интеропом с COM там даже не пахнет.


На тот момент, когда я последний раз всерьез что то писал на Дельфи (лет 8 назад) таких мест практически не было. Сами интерфейсы там присутствовали уже лет 5 на тот момент.
Re[11]: Интерфейсы Delphi грязный хак.
От: hattab  
Дата: 18.12.10 00:58
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС> Интерфейс, который прекрасно работает в чистом СОМ API, может не являтся при этом СОМ интерфейсом?


Конечно может. К COM-интерфейсу вообще предъявляется немало требований, в части реализации IUnknown, и без выполнения этих требований интерфейс не может считаться таковым.

НС> P.S. По ссылке просто упрощение, чтобы не забивать на первом этапе голову ненужными подробностями.


Да ладно, об этом в каждой книге по COM говорится. Вот еще из PSDK:

All predefined interfaces (and any custom interfaces you define) inherit their definitions from the important interface IUnknown, which contains three vital methods: QueryInterface, AddRef, and Release.

avalon 1.0rc3 rev 368, zlib 1.2.3
Re[5]: Интерфейсы Delphi грязный хак.
От: hattab  
Дата: 18.12.10 00:58
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС> H>С чего это вдруг? В VCL полно мест где используются интерфейсы, и интеропом с COM там даже не пахнет.


НС> На тот момент, когда я последний раз всерьез что то писал на Дельфи (лет 8 назад) таких мест практически не было. Сами интерфейсы там присутствовали уже лет 5 на тот момент.


Это в семерке то небыло? А WebSnap, IntraWeb, SOAP, MIDAS? В реализации каждой их этих немалых частей VCL используются интерфейсы (и в немалом количестве). Сейчас их используют еще шире.
avalon 1.0rc3 rev 368, zlib 1.2.3
Re[12]: Интерфейсы Delphi грязный хак.
От: Ночной Смотрящий Россия  
Дата: 18.12.10 01:03
Оценка:
Здравствуйте, hattab, Вы писали:

H>Конечно может. К COM-интерфейсу вообще предъявляется немало требований, в части реализации IUnknown, и без выполнения этих требований интерфейс не может считаться таковым.


НС>> P.S. По ссылке просто упрощение, чтобы не забивать на первом этапе голову ненужными подробностями.


H>Да ладно, об этом в каждой книге по COM говорится. Вот еще из PSDK:

H>

All predefined interfaces (and any custom interfaces you define) inherit their definitions from the important interface IUnknown, which contains three vital methods: QueryInterface, AddRef, and Release.


Круто конечно, но при чем тут GUID?
Re[6]: Интерфейсы Delphi грязный хак.
От: Ночной Смотрящий Россия  
Дата: 18.12.10 01:03
Оценка:
Здравствуйте, hattab, Вы писали:

H>Это в семерке то небыло?


Шестерке.
Re[13]: Интерфейсы Delphi грязный хак.
От: hattab  
Дата: 18.12.10 01:17
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС> H>Да ладно, об этом в каждой книге по COM говорится. Вот еще из PSDK:

НС> H>

All predefined interfaces (and any custom interfaces you define) inherit their definitions from the important interface IUnknown, which contains three vital methods: QueryInterface, AddRef, and Release.


НС> Круто конечно, но при чем тут GUID?


QueryInterface без GUID'а, как ты понимаешь, работать не может, а одно из правил реализации QI выглядит так:

It Must Be Possible to Query Successfully for Any Interface on an Object from Any Other Interface


Без наличия GUID'а это правило невыполнимо.
avalon 1.0rc3 rev 368, zlib 1.2.3
Re[7]: Интерфейсы Delphi грязный хак.
От: hattab  
Дата: 18.12.10 01:17
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС> H>Это в семерке то небыло?


НС> Шестерке.


Восемь лет назад это 2002 год. В 2002 году, в марте, уже была семерка. Впрочем пофиг, в шестерке было все то же самое, кроме IntraWeb.
avalon 1.0rc3 rev 368, zlib 1.2.3
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.