一个类:http://www.cbrother.com/html/1912.html 其中有
//--------------------------------------------------------    TProgressEvent =procedure(Sender: TObject; Progress,
            ProgressMax: Integer) of object;
    TWebBrowserCommandStateChangeEvent=procedure(Sender: TObject;
            Command: Integer; Enable: WordBool) of object;TNewIEPage=class(Tobject)
    private        //.......................
        FOnProgress: TProgressEvent;
        FWebBrowserCommandStateChange:TWebBrowserCommandStateChangeEvent;
    protected
        //........................
    published
        property OnProgress: TProgressEvent read FOnProgress write FOnProgress;
        property OnWebBrowserCommandStateChange: TWebBrowserCommandStateChangeEvent
             read FWebBrowserCommandStateChange write FWebBrowserCommandStateChange;
    end;   TIEManager=class
    private        FPage:    TNewIEPage;
        FPageCtrol:TPageControl;
    public
       constructor Create(const PageControl:TPageControl);
       destructor Destroy; override;
       procedure NewPage(sURL:string;OnProgress: TProgressEvent;
            OnWebBrowserCommandStateChange:TWebBrowserCommandStateChangeEvent);
    end;//*********************************************************************************现在我写procedure TMainFrm.FormCreate(Sender: TObject);
var IEManager:TIEManager;
begin  IEManager:=TIEManager.Create(pgc1);
  IEManager.NewPage('www.csdn.net',?,?);  //IEManager.NewPage 一共3个参数,后2个参数,
end;

解决方案 »

  1.   

    类中定义两个过程
    Type
      TMainFrm = class(TForm)
        procedure DoProgress (Sender: TObject; Progress,
                ProgressMax: Integer) //TProgressEvent的函数原型
        procedure DoCommandStateChange(Sender: TObject;
                Command: Integer; Enable: WordBool) //TWebBrowserCommandStateChangeEvent的函数原型
      end; 
      
       procedure TMainFrm.DoProgress (Sender: TObject; Progress,
                ProgressMax: Integer) //TProgressEvent的函数原型
        begin
         //
       end;
        procedure TMainFrm.DoCommandStateChange(Sender: TObject;
                Command: Integer; Enable: WordBool) //TWebBrowserCommandStateChangeEvent的函数原型
        begin
         //
       end;*******************************************procedure TMainFrm.FormCreate(Sender: TObject);
    var IEManager:TIEManager;
    begin   IEManager:=TIEManager.Create(pgc1);
       IEManager.NewPage('www.csdn.net',DoProgress,DoCommandStateChange);   //IEManager.NewPage 一共3个参数,后2个参数,
    end;
      

  2.   

    自己写2个procedure.然后声明为上面的2个方法指针。再调用,具体看这
    http://topic.csdn.net/t/20060912/09/5015133.html
      

  3.   

    在TMainFrm的类接口声明部分定义两个过程如下所示:
      procedure DoProgress(Sender: TObject; Progress, //TProgressEvent 
                ProgressMax: Integer);
      procedure DoCommandStateChang(Sender: TObject;  
                Command: Integer; Enable: WordBool) //TWebBrowserCommandStateChangeEvent
    实现部分具体实现以下功能(没有的话就让它空着)
      procedure TMainFrm.DoProgress(Sender: TObject; Progress, //TProgressEvent 
                ProgressMax: Integer);
      begin
        //具体功能实现
      end;
      procedure TMainFrm.DoCommandStateChang(Sender: TObject;  
                Command: Integer; Enable: WordBool)
      begin
        //具体功能实现
      end;调用部分
    procedure TMainFrm.FormCreate(Sender: TObject);
    var IEManager:TIEManager;
    begin   IEManager:=TIEManager.Create(pgc1);
       IEManager.NewPage('www.csdn.net',DoProgress,DoCommandStateChang);   //IEManager.NewPage 一共3个参数,后2个参数传递定义的两个过程
    end;
      

  4.   

    写出TProgressEvent与TWebBrowserCommandStateChangeEvent的函数原型procedure TMainFrm.XX(Sender: TObject; Progress,ProgressMax: Integer);
    begin
    end;procedure TMainFrm.OO(Sender: TObject; Command: Integer; Enable: WordBool);
    begin
    end;則:IEManager.NewPage('www.csdn.net',XX,OO);