powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Возможность создания новых типов интерфейсов в новых версиях Delphi
3 сообщений из 53, страница 3 из 3
Возможность создания новых типов интерфейсов в новых версиях Delphi
    #39620881
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AWSVladimirkealon(Ruslan)
ну или с Implements замутить

А можно попродробнее, что ты имел в виду?

да ничего особого, чуть проще просто при множестве классов

Код: 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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
type
  TUnknownImplements = class(TObject, IUnknown)
  public
    function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
    function _AddRef: Integer; stdcall;
    function _Release: Integer; stdcall;
  end;

  ISomeInterface = interface
    procedure DoSomething;
  end;

  TSomeClass = class(TObject, ISomeInterface)
  private
    function GetUnknown: TUnknownImplements;
    property Unknown: TUnknownImplements read GetUnknown implements ISomeInterface;
  protected
    procedure DoSomething;

  end;

{ TUnknownImplements }

function TUnknownImplements.QueryInterface(const IID: TGUID; out Obj): HResult;
begin
  Result := S_FALSE;
end;

function TUnknownImplements._AddRef: Integer;
begin
  Result := -1;
end;

function TUnknownImplements._Release: Integer;
begin
  Result := -1;
end;

{ TSomeClass }
procedure TSomeClass.DoSomething;
begin
   Writeln('ok');
end;

function TSomeClass.GetUnknown: TUnknownImplements;
begin
  Result := nil;
end;

procedure AniWork(v: ISomeInterface);
begin
  v.DoSomething();
end;

procedure TestProc;
var
  SC: TSomeClass;
begin
  SC := TSomeClass.Create;
  try
    AniWork(SC);
  finally
    SC.Free;
  end;
end;
...
Рейтинг: 0 / 0
Возможность создания новых типов интерфейсов в новых версиях Delphi
    #39621171
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Книга «Психбольница в руках пациентов. Алан Купер об интерфейсах»
Профессиональная литература,
Интерфейсы,
Блог компании Издательский дом «Питер»

Хабр
...
Рейтинг: 0 / 0
Возможность создания новых типов интерфейсов в новых версиях Delphi
    #39621518
AWSVladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
Спасибо, понял.


delphinotesА дальше начинаются интересные вещи:
- если интерфейс уже опубликован, то его нельзя менять;


Можно, если только добавлять методы.
Еще используют с dispinterface индексный доступ, но сам с ним не работал.
...
Рейтинг: 0 / 0
3 сообщений из 53, страница 3 из 3
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Возможность создания новых типов интерфейсов в новых версиях Delphi
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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