uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ValEdit, Grids,Registry, StdCtrls, Buttons;type
    TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    BitBtn1: TBitBtn;
问题1 use Windows,Messages ,Windows,Message是包名还是类名?2 为什么TForm1=class(TFor) 用等于号,StringGrid1: TStringGrid这句用冒号呢?不都是继承的意思吗?
可能问题比较傻,但虚心向各位请教。

解决方案 »

  1.   

    第二个问题:
    TForm1=class(TForm) 是继承,
    StringGrid1: TStringGrid
    是说明StringGrid1是类TStringGrid的一个具体实例。
    而前面的Tform1也是一个类,不是一个实例。form1才是Tform1的一个实例。我是这样理解地,我跟你差不多,也是傻傻地。呵呵
      

  2.   

    TForm1=class(TForm)  //TForm1自己也是类,只不过是Tform的一个子类,=号起继承作用Form1 :TForm1        //Form1自己的是对象,它是TForm1类的一个实例,:号起申明属于哪一类作用
      

  3.   

    1。 是包名,也就是个pas文件,里面有很多类。
    2。 一个是继承,一个是组合。
      

  4.   

    1.是单元名,对应到相应的.pas文件或者是.dcu文件。
    2.是继承。
      

  5.   

    那为什么 TForm1需要继承自TForm,而
    StringGrid1: TStringGrid;
    BitBtn1: TBitBtn;上面这两行不用写成  
                TStringGrid1=class(TStringGrid1)
                TBitBtn1=class(TBitBtn1)为什么呢?
      

  6.   

    TStringGrid1=class(TStringGrid1)
    TBitBtn1=class(TBitBtn1)
    是不对的, 首先TStringGrid1=class(***)是类的定义,括号中***是等号左边的类的父类;而StringGrid1: TStringGrid;是变量声明;这两个一个是数据结构定义,一个是变量声明,怎可相互代之建议先学习一下Object Pascal