Уважаемые коллеги!
Конвертирую заголовок с С на Delphi. Запутался в одной ерунде
, простите за ламерский вопрос
, но тем не менее
.
Есть вот такая штука:
type
TSomeRecord = record
some_func: SomeFunc;
end;
SomeFunc = procedure( var sr: TSomeRecord );
Как разрулить?
Конечно приходит в голову объявить либо параметр функции либо поле структуры как pointer, и где нужно — приводить к соответствующему типу. Единственный ли это вариант?
Заранее благодарю!
Здравствуйте, Vadimio, Вы писали:
Как минимум, должно отработать так:
type
PSomeRecord = ^TSomeRecord ;
TSomeFunc = procedure ( SR : PSomeRecord ) ;
TSomeRecord = record SomeFunc : TSomeFunc ; end ;
Более чистого прямого варианта, боюсь, нет — предобъявления типов разрешены только для указателей (и, в частности, для классов).
Если Вы конвертите — то есть собираетесь использовать сишную библиотеку — думаю, это естественный вариант. Если переводите код на Паскаль — я бы задумался на тему "не сделать ли это классом".
Здравствуйте, Softwarer, Вы писали:
Ага, оно, благодарствую!