按引用或指针传递结构类型参数的问题(200分)

  • 主题发起人 主题发起人 hxg
  • 开始时间 开始时间
H

hxg

Unregistered / Unconfirmed
GUEST, unregistred user!
有这样的一个对象的方法,它产生一个窗体(或者对话框),有一个结构类型参数,按引用或
按指针传递。在调用之前已经赋值,但在执行
FormSelectPage:=TFormSelectPage.Create(application)后,
该结构变量的值全部为非正常值(或空值),从而导致以后的结果不正确。
为什么?(在Delphi6环境下)。

function TMyDbf.SelectPage(var AGlobeInfo:TGlobeInfo):boolean;
var
FormSelectPage:TFormSelectPage;
begin
FormSelectPage:=TFormSelectPage.Create(application);
FormSelectPage.ADOQuery1.Connection:=FAdoConnection;
FormSelectPage.F_sFitPath0:=AGlobeInfo.F_cSharePath+
'/'+AGlobeInfo.F_cPaperID;
FormSelectPage.F_sTemplatePath:=pGlobeInfo(gGlobeInfo)^.F_cTemplatePath;
.........
end;
 
function TMyDbf.SelectPage(var AGlobeInfo:TGlobeInfo):boolean;
如果你在这个函数中不用更改AGlobeInfo的话(即是把AGlobeInfo设为另一个TGlobeInfo)
你应该这样写
function TMyDbf.SelectPage([red]const[/red] AGlobeInfo:TGlobeInfo):boolean;
 
搞不清楚这么一回事
 
后退
顶部