Есть модуль Search.pas. В нем объявлен процедурный тип:
type
TSearchFunction = function ( criteria : Integer ) : IDictionary<String, Integer> of object;
Далее в этом же модуле есть класс формы и в нем есть переменная процедурного типа:
type
TfmSearch = class(TForm)
lbCriteria: TLabel;
btOk: TButton;
..
public
LeftFunction : TSearchFunction;
В модуле SearchVSPHelper.pas есть класс и в нем функция:
function TSearchVSPHelper.GetItems ( criteria : Integer ) : IDictionary<String, Integer>;
var
items : IDictionary<String, Integer>;
begin
items := TCollections.CreateDictionary<String, Integer>;
Result := items;
end;
Есть третий модуль VSPList.pas. В нем при создании формы типа TfmSearch я пытаюсь присвоить ее переменной LeftFunction метод класса TSearchVSPHelper.GetItems:
Вопрос
Aptem
Коллеги,
не могу справиться вот с такой задачей.
Есть модуль Search.pas. В нем объявлен процедурный тип:
Далее в этом же модуле есть класс формы и в нем есть переменная процедурного типа:
В модуле SearchVSPHelper.pas есть класс и в нем функция:
Есть третий модуль VSPList.pas. В нем при создании формы типа TfmSearch я пытаюсь присвоить ее переменной LeftFunction метод класса TSearchVSPHelper.GetItems:
Однако при попытке компиляции получаю ошибку на этой строке:
Если функцию GetItems перенести в класс формы, то все компилируется.
В чем может быть проблема? Чего я не вижу?
Спасибо.
Ссылка на комментарий
6 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.