powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Lazarus, передача параметризированной функции как параметра
2 сообщений из 2, страница 1 из 1
Lazarus, передача параметризированной функции как параметра
    #40119453
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго вечера,

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
.............
type TFieldNameDecodeFunc = function(sName: string): string;  
.............
procedure FillRecordFrom(NameDecodeFunc: TFieldNameDecodeFunc = nil);
begin
........................
end; 
.......................
function TImportCsv.DecodeName(sName: string): string;
begin
......................
end;     
.......................
// пробуем вызывать
FillRecordFrom(oCSV.DecodeName);
// получаем
//uproductlist.pas(426,123) Error: Incompatible type for arg no. 5: Got
// "TImportCsv.DecodeName(AnsiString):AnsiString;", expected "<procedure
// variable type of function(AnsiString):AnsiString;Register>"


Почему AnsiString? В чём засада? Как правильно передать параметризированную функцию в качестве парамета в лазаре?

Спасибо.
...
Рейтинг: 0 / 0
Lazarus, передача параметризированной функции как параметра
    #40119455
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hlopotun,

вопрос снят, если передаётся функция член класса должно стоять так:
Код: pascal
1.
type TFieldNameDecodeFunc = function(sName: string): string of Object;  
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Lazarus, передача параметризированной функции как параметра
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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