DataModule.pas 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. unit DataModule;
  2. interface
  3. uses
  4. mybean.core.objects, System.SysUtils, InterfaceDataProvider;
  5. type
  6. TDataModule = class(TMyBeanInterfacedObject, IDataModel)
  7. public
  8. constructor Create; override;
  9. destructor Destroy; override;
  10. procedure Install(ALoginName, ADir: WideString); stdcall;
  11. procedure Uninstall; stdcall;
  12. end;
  13. implementation
  14. uses
  15. BaseDataModule, LoggerImport;
  16. { TDataModule }
  17. constructor TDataModule.Create;
  18. begin
  19. inherited;
  20. if BaseDataModel = nil then
  21. BaseDataModel := TBaseDataModel.Create(nil);
  22. end;
  23. destructor TDataModule.Destroy;
  24. begin
  25. if BaseDataModel <> nil then
  26. FreeAndNil(BaseDataModel);
  27. inherited;
  28. end;
  29. procedure TDataModule.Install(ALoginName, ADir: WideString);
  30. begin
  31. try
  32. if not DirectoryExists(ADir) then
  33. ForceDirectories(ADir);
  34. except
  35. on E: Exception do
  36. begin
  37. Error(E.Message, 'TDataModule.Install');
  38. end;
  39. end;
  40. if BaseDataModel = nil then
  41. BaseDataModel := TBaseDataModel.Create(nil);
  42. BaseDataModel.Install(ALoginName, ADir);
  43. end;
  44. procedure TDataModule.Uninstall;
  45. begin
  46. if BaseDataModel <> nil then
  47. BaseDataModel.Uninstall;
  48. end;
  49. end.