DynaPackColF.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:1k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit DynaPackColF;
  2. interface
  3. uses
  4.   SysUtils, Windows, Messages, Classes, Graphics, Controls,
  5.   Forms, Dialogs, StdCtrls, Buttons, TypInfo;
  6. type
  7.   TForm1 = class(TForm)
  8.     BtnChange: TButton;
  9.     procedure BtnChangeClick(Sender: TObject);
  10.   private
  11.   end;
  12. var
  13.   Form1: TForm1;
  14. implementation
  15. {$R *.DFM}
  16. procedure TForm1.BtnChangeClick(Sender: TObject);
  17. var
  18.   FormScroll: TForm;
  19.   FormClass: TFormClass;
  20.   HandlePack: HModule;
  21. begin
  22.   // try to load the package
  23.   HandlePack := LoadPackage ('PackWithForm.bpl');
  24.   if HandlePack > 0 then
  25.   begin
  26.     FormClass := TFormClass(GetClass ('TFormScroll'));
  27.     if Assigned (FormClass) then
  28.     begin
  29.       FormScroll := FormClass.Create (Application);
  30.       try
  31.         // initialize the data
  32.         SetPropValue (FormScroll, 'SelectedColor', Color);
  33.         // show the form
  34.         if FormScroll.ShowModal = mrOK then
  35.           Color := GetPropValue (FormScroll, 'SelectedColor');
  36.       finally
  37.         FormScroll.Free;
  38.       end;
  39.     end
  40.     else
  41.       ShowMessage ('Form class not found');
  42.     UnloadPackage (HandlePack);
  43.   end
  44.   else
  45.     ShowMessage ('Package not found');
  46. end;
  47. end.