Bunun gibi RTTI kullanarak değişken ad almaya çalışıyorum.RTTI Kullanarak Değişken Adı Al
İşte benim testim. TRttiType döndürme
type
TStringHelper = record helper for string
function Name: string;
end;
TMyRecord = record
Field1:string;
end;
implementation
{ TStringHelper }
function TStringHelper.Name: string;
var
context : TRttiContext;
begin
context := TRttiContext.Create;
result := context.GetType(@Self).Name; // return empty
context.Free;
end;
procedure TForm2.FormCreate(Sender: TObject);
var
r : TMyRecord;
begin
ShowMessage(r.Field1.Name);
end;
İsim boş.
Değişken adı almak için herhangi bir yol var mı?
Açıkladığınız için çok teşekkür ederim. RTVI (Çalışma Zamanı Değişken Bilgileri) sahip olsaydı güzel olurdu. :) –
Burada "çalışma zamanı" diye bir şey gerekli değil. Derleyicinin, derleme zamanında bir sembolü bir dizgiye dönüştüren bir içsel olması gerekir. Aynen C# 6 işlevinde olduğu gibi - bunun için oy verin: https://quality.embarcadero.com/browse/RSP-13290 –
Oy kullanmıştım. Teşekkürler @StefanGlienke –