下面是别人写的,我有点不明白
type
TMyThread = class(TThread)
private
FMemo:TMemo;
protected
procedure Execute; override;
public
constructor Create(Memo:TMemo);// 请问这里为什么不用constructor Create();
//而在运行时直接调用窗体上的form1.memo1就可以了,为什么要这么麻烦
destructor Destroy; override;
end;
我现在要写一个线程是要用读取adoquery读取数据库的内容,是不是也要这样
constructor Create(adoquery:Tadoquery)
type
TMyThread = class(TThread)
private
FMemo:TMemo;
protected
procedure Execute; override;
public
constructor Create(Memo:TMemo);// 请问这里为什么不用constructor Create();
//而在运行时直接调用窗体上的form1.memo1就可以了,为什么要这么麻烦
destructor Destroy; override;
end;
我现在要写一个线程是要用读取adoquery读取数据库的内容,是不是也要这样
constructor Create(adoquery:Tadoquery)
如果像你说的
//而在运行时直接调用窗体上的form1.memo1就可以了,为什么要这么麻烦
那么 这个unit(本unit)就与form1发生了关联 就必须uses Form1 这就是耦合..
而 做为参数 <这种参数传递是pass by referecne的>形式的话, 就独立开了 大大降低与其他模块的耦合度,,嘿嘿 这也算是面向对象的一种思想, 而且这种接口统一, 是种不错的设计..你好好体会一下喔...