程序中有一个这样的函数
执行TDatabase.Open; 便执行这样的函数。procedure TDataModule2.dbSalesLogin(Database: TDatabase;
LoginParams: TStrings);
begin
GetLoginParams(LoginParams); //在这个函数里获得User Name和Password.
end;我觉得不明白的是,LoginParams使用的值传递的形式。 那么在GetLoginParams
里获得的User Name和Password的值不能被送到外层函数。也就是说dbSalesLogin
函数里的LoginParam还是没有User Name和Password.是不是TStrings有什么特殊的
含义,我的Pascal学得不好,谁能帮我解释一下。谢了!
执行TDatabase.Open; 便执行这样的函数。procedure TDataModule2.dbSalesLogin(Database: TDatabase;
LoginParams: TStrings);
begin
GetLoginParams(LoginParams); //在这个函数里获得User Name和Password.
end;我觉得不明白的是,LoginParams使用的值传递的形式。 那么在GetLoginParams
里获得的User Name和Password的值不能被送到外层函数。也就是说dbSalesLogin
函数里的LoginParam还是没有User Name和Password.是不是TStrings有什么特殊的
含义,我的Pascal学得不好,谁能帮我解释一下。谢了!
解决方案 »
- DELPHI中,截获异常处理
- 【请教】关于DBEdit和DBText ◎小弟就这点分了,请大哥们见量◎
- query组件,SQL插入一条数据编译通过,运行时却出错,请高手进来看看呀
- ADO连数据库,怎么连有的数据库怎么ADOTable1.Tablename没值?
- 怎样在WINDOWS的标准打开对话框中加入自己的一个按钮??
- 关于LISTVIEW绘制LISTITEM的问题,郁闷的紧;高分求解;
- 向大家求助,Delphi不用dll如何转向程序目标IP地址
- 初学者问题1,高手请进!在线等待。
- 我要delphi6.0和orecle做一个管理系统,用ado连接服务器上的数据库
- 关于网吧管理软件的问题,请看一下,在线等待
- 时间的滞后性带来的问题,请问各位有什么好的方法?
- DELPHI 高手帮忙看一下下面的代码
所以这里,即使不加var,也是传的对象指针,所以是可以修改对象的数据的!注意,LoginParams:TStrings是对象,而不是普通类型。
var
LoginParams: TStrings;
这儿的参数LoginParams变量实质是一个引用,传入前是假定它已经实例化的.
比如可以这样用dbSalesLogin(xxxx,Memo1.Lines);这样把一个MEMO编辑框的LINES引用传入,函数体内填写LINES的内容,并没有改变LINES
这个引用的值.