ufrmMain.pas 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. unit ufrmMain;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5. Dialogs, StdCtrls, mybean.tools.beanFactory, uIPluginForm, IniFiles, uIFormShow;
  6. type
  7. TfrmMain = class(TForm)
  8. btnShowModal: TButton;
  9. edtBeanID: TEdit;
  10. Label1: TLabel;
  11. btnShow: TButton;
  12. Memo1: TMemo;
  13. procedure FormCreate(Sender: TObject);
  14. procedure btnShowClick(Sender: TObject);
  15. procedure btnShowModalClick(Sender: TObject);
  16. procedure FormClose(Sender: TObject; var Action: TCloseAction);
  17. private
  18. { Private declarations }
  19. public
  20. { Public declarations }
  21. end;
  22. var
  23. frmMain: TfrmMain;
  24. implementation
  25. {$R *.dfm}
  26. procedure TfrmMain.FormCreate(Sender: TObject);
  27. var
  28. lvINiFile:TIniFile;
  29. begin
  30. lvINiFile := TIniFile.Create(ChangeFileExt(ParamStr(0), '.history.ini'));
  31. try
  32. edtBeanID.Text := lvINiFile.ReadString('main', 'lastPluginID', '');
  33. finally
  34. lvINiFile.Free;
  35. end;
  36. end;
  37. procedure TfrmMain.btnShowClick(Sender: TObject);
  38. var
  39. lvBean:IInterface;
  40. lvShow:IShowAsNormal;
  41. begin
  42. lvBean := TMyBeanFactoryTools.getBean(edtBeanID.Text);
  43. if lvBean.QueryInterface(IShowAsNormal, lvShow) = S_OK then
  44. begin
  45. lvShow.showAsNormal;
  46. end else
  47. begin
  48. (lvBean as IPluginForm).showAsModal;
  49. end;
  50. end;
  51. procedure TfrmMain.btnShowModalClick(Sender: TObject);
  52. var
  53. lvBean:IInterface;
  54. lvShow:IShowAsModal;
  55. begin
  56. lvBean := TMyBeanFactoryTools.getBean(edtBeanID.Text);
  57. if lvBean.QueryInterface(IShowAsModal, lvShow) = S_OK then
  58. begin
  59. lvShow.showAsModal;
  60. end else
  61. begin
  62. (lvBean as IPluginForm).showAsModal;
  63. end;
  64. end;
  65. procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
  66. var
  67. lvINiFile:TIniFile;
  68. begin
  69. lvINiFile := TIniFile.Create(ChangeFileExt(ParamStr(0), '.history.ini'));
  70. try
  71. lvINiFile.WriteString('main', 'lastPluginID', edtBeanID.Text);
  72. finally
  73. lvINiFile.Free;
  74. end;
  75. end;
  76. end.