读书人

指针的运用,该如何解决

发布时间: 2012-02-15 12:09:44 作者: rapoo

指针的运用
procedure TForm1.Button1Click(Sender: TObject);
Type
pPopedom = ^TPopedom;
TPopedom = Packed Record
ADOQryUserStr: PChar;
ADOQryPopedomStr: PChar;
end;
var
Popedom: pPopedom;
begin
//应该怎么样赋值?怎么取值
//^ @ 怎么来用?
popedom^.ADOQryUserStr := ' ';
ShowMessage(popedom^.ADOQryUserStr);
end;

[解决办法]
new( pPopedom );
popedom^.ADOQryUserStr:= ' ';
ShowMessage(popedom^.ADOQryUserStr);
dispose( pPopedom );
[解决办法]
Getmem(Popedom,sizeof(TPopedom));
popedom^.ADOQryUserStr := ' ';
ShowMessage(popedom^.ADOQryUserStr);
FreeMem(popedom);
[解决办法]
指针只是表示数据所在的地址

至于那个地址上是否存在有效数据还得自己维护
[解决办法]
var
Popedom: pPopedom;
PFU:FUNCTION :BOOLEAN;

Function xx:Boolean;
begin
beep;
end;
begin
一般定义指针先得创建(NEW或GETMEM)用完记得DISPOSE或FREEMEM,定义记录就创建了,所以不必再创建......
然后Popedom^是指向的意思
@PFU:=xx;(这句在DLL中用的较多)或PFU:=@XX;一样是取得方法的地址而已.

读书人网 >.NET

热点推荐