下面是别人写的,我有点不明白
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)

解决方案 »

  1.   

    constructor Create(Memo:TMemo);// 请问这里为什么不用constructor Create();// 这叫封装....
    如果像你说的 
    //而在运行时直接调用窗体上的form1.memo1就可以了,为什么要这么麻烦
    那么 这个unit(本unit)就与form1发生了关联 就必须uses Form1 这就是耦合..
    而 做为参数 <这种参数传递是pass by referecne的>形式的话, 就独立开了 大大降低与其他模块的耦合度,,嘿嘿 这也算是面向对象的一种思想, 而且这种接口统一, 是种不错的设计..你好好体会一下喔...