Delphiマンセー

このエントリーをはてなブックマークに追加
431デフォルトの名無しさん
C言語のようにポインタを渡して配列のようにアクセスする事はDelphiでは出来ない。
そういう場合はこうする。

procedure TForm1.Button1Click(Sender: TObject);
 procedure t2(var x:Char);
  type TLRRec = record
  L,R:SmallInt;
  end;
  type TWavRec = array[word] of TLRRec;
  var Data:TWavRec absolute x;
  begin
  Caption:=Format('%8x %8x',[data[0].L,data[0].R]);
  end;
begin
  t2(PCHAR('test')^);
end;

ここでポイントは、
 1、var x:Char と引数を定義する事 これで参照渡しとなる
 2、abosolute で 参照渡の引数の別名を指定する事