PPchar=^Pchar;procedure GetMemory(P:PPchar;Num:integer);procedure TForm1.getmemory1(P:PPchar;Num:integer);
var
PP:Pchar;
begin
pp:=Pchar(AllocMem(sizeof(integer)*Num));
^P:=PP;
end;procedure TForm1.Button1Click(Sender: TObject);
var
test:Pchar;
begin
GetMemory(@test,100);
//test:=Pchar('121');
//ShowMessage(test);
FreeMem(test);
end;释放的时候报读非法内存错误!
var
PP:Pchar;
begin
pp:=Pchar(AllocMem(sizeof(integer)*Num));
^P:=PP;
end;procedure TForm1.Button1Click(Sender: TObject);
var
test:Pchar;
begin
GetMemory(@test,100);
//test:=Pchar('121');
//ShowMessage(test);
FreeMem(test);
end;释放的时候报读非法内存错误!
应该为P^:=PP;^P是PPPChar了,P^是PChar型的
var
PP:Pchar;
begin
pp:=Pchar(AllocMem(sizeof(integer)*Num));
P^:=PP;
end;procedure TForm1.Button1Click(Sender: TObject);
var
test:Pchar;
begin
getmemory1(@test,100);
//test:=Pchar('121');
//ShowMessage(test);
FreeMem(test);
end;
var
test:Pchar;
begin
GetMemory(test,100);
//test:=Pchar('121');
//ShowMessage(test);
FreeMem(test);
end;
Getmem(test,100); FreeMem(test);
2 procedure TForm1.getmemory1(P:PPchar;Num:integer);似乎没有调用过啊
var
p :pchar;
begin
p :=StrAlloc(100); //给p分配100个字节
StrDispose(p); //释放p的内存空间。
end; //搞定。