我在网上下了一些delphi7对package操作实例
但是用在delphi2007 上不行窗体打不开。
我用的代码是
procedure TForm1.ShowPackageFormClick(Sender: TObject);
var
  AClass: TClass;
  AForm: TForm;
  FPackageHandle: Integer;
begin
  FPackageHandle := LoadPackage('test.bpl');
  AClass := GetClass('TForm2');
  if AClass <> nil then
  begin
    Application.CreateForm(TComponentClass(AClass), AForm);
    AForm.Show;
  end;
end;
好像在执行 AClass := GetClass('TForm2');时找不到。
请大家帮忙看看
先谢谢了。 

解决方案 »

  1.   

    project -> option -> packages-> build with run time packages 勾上
      

  2.   

    请问楼主test.bpl这个是你编还是下载的?如果自己编写那请注意TForm2的单元在initialization里面有没有用RegisterClass注册
      

  3.   

    test.bpl里面initialization下面用RegisterClass注册过了
    还有在项目里面用3楼方法编译时有错误(project -> option -> packages-> build with run time packages) 
    是不是在项目里面 选择build with run time packages呢?
    还是在package里面选择build with run time packages呢?
      

  4.   

    exe要Build With Runtime Packages(带rtl,vcl就可以了)。
      

  5.   

    Package根本不受build with run time packages影响,因为编译Package肯定是使用Package的,但编译.exe就要受到这个选项影响,如果你使用程序包包括像你这样动态加载程序包一定要选中这个选项。