BPL中有一个类TMyComponent有一个方法GetTest,我如何动态LOAD这个BPL并调用GetTest方法,不用静态方法。

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      PackageModule: HModule;
      AClass: TPersistentClass;
    begin
      PackageModule := LoadPackage('Package1.bpl');
      if PackageModule <> 0 then
      begin
        AClass := GetClass('TForm2');    if AClass <> nil then
        begin
          RegisterClass(AClass);
          with TComponentClass(AClass).Create(Application)
            as TCustomForm do
          begin
            ShowModal;
            Free;
          end;
          UnRegisterClass(AClass);
        end;    UnloadPackage(PackageModule);
      end;
    end;