我觉得 GetMem 和 GetMemory 的功能是一样的, 有点类似与 Format 和 FmtStr 的关系; 它们的区别只在于参数位置和返回值的区别, 看看 GetMemory 函数的源码就知道, 它其实就是调用的 GetMem.
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);var p: PInteger;begin GetMem(p, SizeOf(Integer)); p^ := 100; ShowMessage(IntToStr(p^)); {100} FreeMem(p);end;procedure TForm1.Button2Click(Sender: TObject);var p: PInteger;begin p := GetMemory(SizeOf(Integer)); p^ := 100; ShowMessage(IntToStr(p^)); {100} FreeMemory(p);end;end.