我知道是用来注册一个类,但为何要注册呢?

解决方案 »

  1.   

    就好像
       CreateWindow  一樣,你需要讓操作系統有這樣一個窗口類才行。 
     比如說,有一個窗口沒有注冊前你只知道它的類名,你想直接建立窗口的話,通常操作:   getClass(className),  然後通過取得類名直接生成窗口,這個時候你就需要先用RegisterClassRegisterClasses 說明白了,就是循環執行:RegisterClass,直至全部注冊完 
      

  2.   

      procedure   TForm1.Button2Click(Sender:   TObject);       
      var   
        s:Tmemorystream;   
        ff:TFrame2;       
      begin   
         classes.RegisterClass(TFrame2);   
         classes.RegisterClass(Tlabel);   
         classes.RegisterClass(TButton);   
                    
         s:=Tmemorystream.Create   ;   
         try
           s.LoadFromFile('a');   
           ff  :=   TFrame2(TFrame.Create(Self));   
           ff.Parent   :=self;   
           s.ReadComponent(ff) ;   
         finally
           s.Free;           
         end;
      end;   用段代碼,可能容易理解點。
      

  3.   

    Class.RegisterClass与Windows.RegisterClass是不一样的!
    我想你应该问的是Class.RegisterClass
    这个函数的功能有2点:
    1.持久化Call RegisterClass to register a class with the streaming system. Form classes and component classes that are referenced in a form declaration (instance variables) are automatically registered.  Any other classes used by an application must be explicitly registered by calling RegisterClass if instances are to be saved.2.做Package模式的开发