请教各位网友:问一个Delphi中类的域为另一个类的问题(0分)

  • 主题发起人 主题发起人 netbug
  • 开始时间 开始时间
N

netbug

Unregistered / Unconfirmed
GUEST, unregistred user!
请看例子:
type
Taa=class
x:integer;
y:integer;
constructor create;
end;
constructor Taa.create;
begin
x:=12;
y:=23;
end;
type
Tbb=class
function getaa:Taa;
property aa:Taa read getaa;
end;
function Tbb.getaa:Taa;
begin
result:=Taa.create;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
with aa do
begin
edit1.text:=inttostr(x);
edit2.text:=inttostr(y);
end;
end;
此例Tbb中的域aa的类型是类Taa,但在编译时同不过,请问错在哪里?如何更改?谢谢。
 
这个问题不应该只给0分啊?
 
把constructor Taa.create
和function Tbb.getaa
的实现部分写在implementation部分
 
原来你是<b>student1</b>
 
cakk,我是写在implementation
 
把你的完整代码贴出来,我帮你看看.
 
cAkk,代码就在上面
 
我怎么没看到"<b>implementation</b>"
 
你的做法不好,难道每读一次就create一次吗?
应该在b.create中把aa create;
 
cakk,对不起,都怪我没说清,我的代码都是在implementaion下的。
 
>>with aa do

这句里面的aa是什么?
 
{你的意识是不是: (我已经通过,如不是,铁出错误信息)}

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

type
Taa=class
x:integer;
y:integer;
constructor create;
end;

constructor Taa.create;
begin
x:=12;
y:=23;
end;

type
Tbb=class
function getaa:Taa;
property aa:Taa read getaa;
end;

var
aa:tbb;

function Tbb.getaa:Taa;
begin
result:=Taa.create;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
aa:=tbb.create;
with aa.aa do
begin
edit1.text:=inttostr(x);
edit2.text:=inttostr(y);
end;
end;

end.
 
接受答案了.
 
后退
顶部