type
tmatrix=class(tcomponent)
private
.....
viewer:tmatrixviewer;
.....
protected
publish
end;
tmatrixviewer=class(tcustomgrid)
private
......
matrix:tmatrix;
.....
protected
.....
也就是说我先定义了矩阵类(tmatrix)在矩阵类中有一个属性(viewer)它是tmatrixviewer类型,同时又定义了一个矩阵浏览部件(tmatrixviewer)在它的属性中有一个matrix是tmatrix类型,由于这两个类型都是自定义的类型编译时到viewer:tmatrixviewer;提示为不认识的类型.请问有什么办法解决?
tmatrix=class(tcomponent)
private
.....
viewer:tmatrixviewer;
.....
protected
publish
end;
tmatrixviewer=class(tcustomgrid)
private
......
matrix:tmatrix;
.....
protected
.....
也就是说我先定义了矩阵类(tmatrix)在矩阵类中有一个属性(viewer)它是tmatrixviewer类型,同时又定义了一个矩阵浏览部件(tmatrixviewer)在它的属性中有一个matrix是tmatrix类型,由于这两个类型都是自定义的类型编译时到viewer:tmatrixviewer;提示为不认识的类型.请问有什么办法解决?
type tmatrixviewer=class;////加上这句;
tmatrix=class(tcomponent)
private
.....
viewer:tmatrixviewer;
.....
protected
published
end;
tmatrixviewer=class(tcustomgrid)
private
......
matrix:tmatrix;
.....
protected
.....
编译到这
tmatrix=class(tcomponent)
提示下面应该是tmatrixviewer的定义
而且我查了好多书都没有这方面的介绍;
tmatrixviewer=class;在delphi里就是定义类的语法,
它和tmatrixviewer=class(object);是一样的。
如果实在不行,你把tcustomgrid类的声明放到tmatrix之前,然后把viewer定义成tcustomgrid
用的时候用: viewer:=Tmatrixviewer.create;
用的时候用: viewer:=Tmatrixviewer.create)
哪么在部件注册后,在窗体设计时,将这两个部件拖放到窗体上后,无法在属性编辑器内
将matrix的属性viewer设为matrixviewer,而且我要对tmatrixviewer做一些自定义,举个简单的
例子吧:就象 乔丹<->乔丹的鞋子一样,而不是乔丹<->鞋子这样的对应关系.
从理论上讲,就是应该先声明一下,
我就是想问一下声明的语法.按照天涯浪子哪样声明是不行的.
tmatrixviewer=class;在delphi里就是定义类的语法,
它和tmatrixviewer=class(object);是一样的。
type
Tsecondclass =Class;
TfirstClass =Class
secondclass : TsecondClass;
end;
Tsecondclass =Class
firstclass : TfirstClass;
end;
注意Tsecondclass =Class后面有分号,且后面只能跟上类的定义。