実行時にレコードへの型付きポインタを作成する方法はありますか?型付きポインタの実行時作成ですか?
など。 ...
TMyRecord = record
s1: string;
s2: string;
end;
TpMyRecord = ^TMyRecord;
に
var pMyRecord: TpMyRecord;
begin
New(pMyRecord)
が、その後TpMyRecord = ^TMyRecord
宣言なしにpMyRecordの割り当てなどのランタイムで同じことを実現します。
私はGetMemとFreeMemのを使用することができます知っているが、私は、文字列の寿命管理を維持したいです。
質問は多少ありますが、私はちょうどTpMyRecord = ^TMyRecord
宣言を使用することができますが、これを実行する方法があれば興味があります(ただし、 RTTIの面倒な作業の多く)。
'var pMyRecord:^ TMyRecord;'は、ポインタ型を明示的に宣言せずに修正します。 –
私はその質問を理解していません。存在があった場合、これをどのように使用するかの例を挙げることができますか?実行時まで型が分からない変数に対して 'New'を呼び出す必要があるのはどこですか? –
@RobKennedy実際には、特定の図書館の消費者が余分な宣言をする必要はありません。そうすれば、その余分なステップを踏まなければならなくなります。プログラマは怠惰です。 ;) – Domus