Здравствуйте, Sinclair, Вы писали:
I>>I>> type
I>> pProc = procedure(s:string);
I>> function X(s:string):pProc;far;
I>> procedure X1;far;
I>> begin;
I>> WriteLn(s);
I>> end;
I>> begin;
I>> X := @X1;
I>> end;
I>>
S>Отличный пример. А что мешает ему скомпилиться? Извини, у меня TP для проверки нету.
Тип pProc можно использовать для параметра, но нельзя для возвращаемого значения, это можно обойти хаком.
I>>Ну и мануал, там есть подсказка
S>Ну вот в подсказке вроде очень похожий пример. Неужели TP умеет escape-analysis и запрещает передавать адреса вверх по стеку, разрешая вниз?
В этом месте в турбопаскале большая дыра, почти ничем не прикрытая.