首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

指针的运用,该如何解决

2012-02-15 
指针的运用procedureTForm1.Button1Click(Sender:TObject)TypepPopedom^TPopedomTPopedomPackedRecord

指针的运用
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;一样是取得方法的地址而已.

热点排行