Class 和 VCL 的区别(100分)

  • 主题发起人 主题发起人 Marlowe
  • 开始时间 开始时间
M

Marlowe

Unregistered / Unconfirmed
GUEST, unregistred user!
我有两个问题
1、CLass 和 VCL (可视构件)的区别
2、如果说是一样的,我看TStringList 有onchanged 和OnChanging
两个事件,我怎么调用哪?
 
1.class 是类,delphi中的类名,以字母'T'开头,如Tmycompon.
但在安装组件时,所用到的对象不加前缀,如mycompon1等等.
2.onchanged是在用户修改完之后触发
onchanging是在用户正在要修改是触发.
 
在delphi中,一个class叫一个对象,
class中一般包括一些数据和操作这些数据的方法。


VCL是Visual Component Library(可视化组件库),
它是由很多组件(或叫构件)组成的,
这些组件是class,
组件最底层的根是Tobject,
即所有组件都是从Tobject一路继承下来的。

 
比如:
test:TStringList;

你已经写好了test的onchanged 和OnChanging事件,

如果你在外部想手工触发一下这两事件,
则你可以这样调用:
test.onchanged(Sender);
test.onchanging(sender);
 
Class是Vcl的子集。
 
>Class是Vcl的子集。
相反。
 
1、在delphi中,Class与Vcl本质上是一样的,比如Class TStringList把某些属性设为Pulished,再加入RegisterCommponent,则表现与Vcl一样。所以我认为Class与Vcl都是一样类,只是Vcl将某些属性公开,能让Delphi在IDE中进行修改.
2、OnChanged:改变后。
Changing :改变前.
 
class是oop中的统称,而VCL与其它类库(如MFC,OWL)一样,只是一系列重新定义
的类。如VCL是在DELPHI中定义的,使用它可以方便地操作WINDOWS标准组件的一些特
性。
onchanging事件通常是用来决定是否可以change。
 
马 与 白马 的关系 :)
 
高!一语道破天机:
白马是马,白马非马,哈哈!

说它是,它就是,不是也是
说不是,就不是,是也不是


是也不是?//EYES:这是我的横批:)
 
class是C的叫法,也是标准叫法.pascal叫object.
 
class是类,而实例化之后才成为对象(object),
VCL也是class,不过是为可视化而设计的, 可以
去看一下Delphi类的关系
 
spear: 你说的对.
 
Class是Vcl的子集。
Vcl是Class的子集。

好像都对,看你怎么理解。
 
1.Class是程序设计的概念问题,VCL是DELPHI对Class具体的实现手段的问题;
2.直接赋值:
Procedure Myonchanged(...)
Begin
...
End;
...
MyStringList.onchanged := Myonchanged;
 
>VCL也是class,不过是为可视化而设计的,
呵呵,未必吧?non-visual 的呢?动态建立呢?:-)))
 
CJ: non-visual的就不叫VCL了,V是可视的意思. 叫CL
 
我认为spear已经说的很好了,还有什么可争的呢?
CJ:嘿另!有学问的人说出来的话就是不一样,不比咱这大老粗。
>说它是,它就是,不是也是
>说不是,就不是,是也不是

 
cKKK厉害呀,呵呵
程云 : 孙老才有学问呢,我说穿了就没意思:(
 
后退
顶部