unit DataModule; interface uses mybean.core.objects, System.SysUtils, InterfaceDataProvider; type TDataModule = class(TMyBeanInterfacedObject, IDataModel) public constructor Create; override; destructor Destroy; override; procedure Install(ALoginName, ADir: WideString); stdcall; procedure Uninstall; stdcall; end; implementation uses BaseDataModule, LoggerImport; { TDataModule } constructor TDataModule.Create; begin inherited; if BaseDataModel = nil then BaseDataModel := TBaseDataModel.Create(nil); end; destructor TDataModule.Destroy; begin if BaseDataModel <> nil then FreeAndNil(BaseDataModel); inherited; end; procedure TDataModule.Install(ALoginName, ADir: WideString); begin try if not DirectoryExists(ADir) then ForceDirectories(ADir); except on E: Exception do begin Error(E.Message, 'TDataModule.Install'); end; end; if BaseDataModel = nil then BaseDataModel := TBaseDataModel.Create(nil); BaseDataModel.Install(ALoginName, ADir); end; procedure TDataModule.Uninstall; begin if BaseDataModel <> nil then BaseDataModel.Uninstall; end; end.