powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / дублируется IDATAObject
7 сообщений из 7, страница 1 из 1
дублируется IDATAObject
    #39987246
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Увидел сейчас (на новой работе) что имеется вот такое обьявление базового интерфейса:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
  IDATAObject = interface(IUnknown)
    ['{1DDD22BD-8CB0-4613-B5E6-0BFD43DBC6A7}']
    { Property modifiers }
    function GetObj: TObject;
    function GetXML: DOMString;
    function GetXMLStrings: TStrings;
    { Properties }
    property XML: DOMString read GetXML;
    property XMLStrings: TStrings read GetXMLStrings;
  end;


Однако ж и в модуле ActiveX тоже имеется интерфейс с тем же названием. И ActiveX используется в приложении. Могут ли возникнуть проблемы?

Модератор: Пользуйтесь тегом (кнопкой) SRC для оформления кода, пожалуйста.
...
Рейтинг: 0 / 0
дублируется IDATAObject
    #39987263
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GUID тот же?
...
Рейтинг: 0 / 0
дублируется IDATAObject
    #39987265
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,
другой, конечно. Ctrl-Shift-G всё-таки нажимали.

from Winapi.ActiveX.pas
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
{ IDataObject interface }

  IDataObject = interface(IUnknown)
    ['{0000010E-0000-0000-C000-000000000046}']
    function GetData(const formatetcIn: TFormatEtc; out medium: TStgMedium):
      HResult; stdcall;
    function GetDataHere(const formatetc: TFormatEtc; out medium: TStgMedium):
      HResult; stdcall;
    function QueryGetData(const formatetc: TFormatEtc): HResult;
      stdcall;
    function GetCanonicalFormatEtc(const formatetc: TFormatEtc;
      out formatetcOut: TFormatEtc): HResult; stdcall;
    function SetData(const formatetc: TFormatEtc; var medium: TStgMedium;
      fRelease: BOOL): HResult; stdcall;
    function EnumFormatEtc(dwDirection: Longint; out enumFormatEtc:
      IEnumFormatEtc): HResult; stdcall;
    function DAdvise(const formatetc: TFormatEtc; advf: Longint;
      const advSink: IAdviseSink; out dwConnection: Longint): HResult; stdcall;
    function DUnadvise(dwConnection: Longint): HResult; stdcall;
    function EnumDAdvise(out enumAdvise: IEnumStatData): HResult;
      stdcall;
  end;
  {$EXTERNALSYM IDataObject}
  {$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDataObject)'}

{ IDataAdviseHolder interface }
...
Рейтинг: 0 / 0
дублируется IDATAObject
    #39987266
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверно, раз методы не пересекаются и всё компилируется, то проблем быть не должно.
...
Рейтинг: 0 / 0
дублируется IDATAObject
    #39987359
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Проблемы" при пересечении областей видимости могут быть, конечно.
...
Рейтинг: 0 / 0
дублируется IDATAObject
    #39987432
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Cookin
Наверно, раз методы не пересекаются и всё компилируется, то проблем быть не должно.
Проблемы будут полностью аналогичные дублированию имен любых других идентификаторов в разных модулях. И решаются они так же - указанием идентификатора вместе с именем модуля
...
Рейтинг: 0 / 0
дублируется IDATAObject
    #39988330
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

Все методы разные, а компилятор не ругается, значит берёт верный интерфейс и всё будет хорошо. Или всё-таки?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / дублируется IDATAObject
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]