快来看关于传值的问题

maleswallow 2003-09-19 09:25:28
我建了一个类,在其中定义了一个公用的变量,让工程中的其他所有窗体能得到这个变量的值,我已把这个类的unit加入到窗体中了,为何,不能在其中的一个窗体中赋值呢?
谢谢,请帮忙。
...全文
50 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mingjunlee 2003-09-19
  • 打赏
  • 举报
回复
首先必须创建这个类的实例,
var ClsA : ClassA;
begin
ClsA := ClassA.Create;
ClsA.Variable := .......
end;
yurenjf 2003-09-19
  • 打赏
  • 举报
回复
把他声明为私有变量
然后定义两个公有方法:(这样才体现了类的封装特性)
//...
public:
procedure SetValue(paramsname:类型);
function GetValue():类型;
end;
//...
procedure ClassName.SetValue(paramsnames:类型);
begin
paramsname:=paramsnames;
end;
function ClassName.GetValue():类型;
begin
Return:= paramsname;
end;
//...
路人陈 2003-09-19
  • 打赏
  • 举报
回复
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
i:integer;//你在类中声明的变量
end;

var
Form1: TForm1;//你定义的变量

implementation

{$R *.dfm}
begin
form1:= tform1.Create(nil); //构造一个对象实例变量
form1.i:= 123;////你赋值的地方
end;
end.
//在哪个单元用form1的i,就把unit1 uses进来
FrameSniper 2003-09-19
  • 打赏
  • 举报
回复
首先赋值要使用类名称来进行限定,同时必须创建类的实例....
jy_1201 2003-09-19
  • 打赏
  • 举报
回复
你的问题应该按楼上的就能解决。
不过最好还是采取1楼兄弟的方法。
chl_ccssddnn 2003-09-19
  • 打赏
  • 举报
回复
在创建了该类的实例之后,才可以进行付值。
wwle 2003-09-19
  • 打赏
  • 举报
回复
你不放在增加一个方法
例如:GetVar()
这样用的时候,用这个方法来取得。
不过我觉得既然是 public 应该是能访问的。但表单调用时必须USES

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧