Здравствуйте, Master Yoda, Вы писали:
MY>Выводит пустую строку, а что?
А у меня выдало Test
MY>Компилятор вставляет код инициализации и финализации для длинных строк и интерфейсов в начале и конце каждой процедуры. Строки он инициализирует nil, что эквивалентно пустой строке, поэтому явная инициализация избыточна.
Инициализация проводится только для локальных/глобальных переменных, но не для Result
ЗЫ Ты точно закоментировал строку Result := '' ??
function GetStringProperty(Obj: TPersistent; PropertyName: string): string;
var PropInfo: PPropInfo;
begin
// Result:='';
if not IsPropertyInfo(Obj,PropertyName,PropInfo) then exit;
Result:=GetStrProp(Obj,PropInfo);
end;