Delphi: проблема с вызовом функции, возвращающей интерфейс - PullRequest
0 голосов
/ 28 июня 2010

Я пытаюсь вызвать функцию, возвращающую интерфейс от другого устройства;например, рассмотрим следующее:

program intf_sb1;
{$APPTYPE CONSOLE}
uses
  myunit in 'myunit.pas';
var
  MyBL: ISomeInterface;
begin
  MyBL := GetInterface;
end.

, где содержание myunit.pas выглядит следующим образом:

unit myunit;
interface
type
  ISomeInterface = interface
    ['{D25A26ED-7665-4091-9B0F-24DF37545E2A}']
  end;
implementation

function GetInterface : ISomeInterface;
begin
end;

end.

Моя проблема заключается в том, что я получаю ошибку «E2003 Undecleared identifier GetInterface»Я пытаюсь запустить эту программу.Почему это не разрешено?Заранее спасибо!

1 Ответ

13 голосов
/ 28 июня 2010

Объявите функцию GetInterface в разделе интерфейса. Если вы этого не сделаете, это «личное» для подразделения.

IE:

type
  ISomeInterface
  ...
  end;

  function GetInterface: ISomeInterface;

implementation

function GetInterface: ISomeInterface;
begin
...
end;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...