This commit is contained in:
roberto 2007-10-26 18:08:07 +00:00
parent 3854ac2d6a
commit cfa04cc384
2 changed files with 1762 additions and 0 deletions

1627
Source/Base/uDMBase.dfm Normal file

File diff suppressed because it is too large Load Diff

135
Source/Base/uDMBase.pas Normal file
View File

@ -0,0 +1,135 @@
unit uDMBase;
interface
uses
Controls, SyncObjs, PngImageList, JvComponent, JvNavigationPane, TBXSwitcher,
TBXOffice2003Theme, Classes, ImgList,
DataAbstract4_Intf, uDADataTable, JvAppStorage, JvAppRegistryStorage, cxintl,
JvComponentBase, cxIntlPrintSys3, JvLogFile;
type
TdmBase = class(TDataModule)
SmallImages: TPngImageList;
StyleManager: TJvNavPaneStyleManager;
TBXSwitcher: TTBXSwitcher;
cxIntl: TcxIntl;
cxIntlPrintSys31: TcxIntlPrintSys3;
JvLogFile: TJvLogFile;
procedure DAClientDataModuleCreate(Sender: TObject);
procedure DataModuleDestroy(Sender: TObject);
private
FOnThemeChange: TNotifyEvent;
FEscribirLog : TCriticalSection;
procedure IniciarLog;
procedure DetenerLog;
procedure InitStyleManager;
procedure OnTBXThemeChange(Sender: TObject);
procedure LeerConfiguracion;
public
procedure EscribirLog(const AMensaje : String);
procedure SalvarConfiguracion;
property OnThemeChange: TNotifyEvent read FOnThemeChange write
FOnThemeChange;
end;
var
dmBase: TdmBase = nil;
implementation
{$R *.DFM}
uses
uDataModuleConexion, Dialogs, TBX, TBXThemes, Forms, Windows,
JclFileUtils, cxControls, SysUtils, uDataModuleConfiguracion;
{
*********************************** TdmBase ************************************
}
procedure TdmBase.DAClientDataModuleCreate(Sender: TObject);
begin
IniciarLog;
TBXSwitcher.OnThemeChange := OnTBXThemeChange;
TBXSetTheme('Office2003');
LeerConfiguracion;
end;
procedure TdmBase.IniciarLog;
begin
FEscribirLog := TCriticalSection.Create;
JvLogFile.Active := False;
JvLogFile.FileName := ExtractFilePath(Application.ExeName) + 'ClientLog.txt';
JvLogFile.AutoSave := True;
JvLogFile.Active := True;
JvLogFile.Clear;
end;
procedure TdmBase.InitStyleManager;
begin
if not USE_THEMES then
begin
TBXSwitcher.EnableXPStyles := False;
StyleManager.Theme := nptStandard;
end
else begin
TBXSwitcher.EnableXPStyles := True;
with StyleManager do
begin
if CurrentTheme is TTBXOffice2003Theme then
begin
case GetOffice2003Scheme of
osBlue : Theme := nptXPBlue;
osMetallic : Theme := nptXPSilver;
osGreen : Theme := nptXPOlive;
else
Theme := nptStandard;
end;
end;
end;
end;
end;
procedure TdmBase.LeerConfiguracion;
begin
dmConfiguracion.LeerConfiguracion;
end;
procedure TdmBase.OnTBXThemeChange(Sender: TObject);
begin
InitStyleManager;
if Assigned(FOnThemeChange) then
FOnThemeChange(Sender);
end;
procedure TdmBase.SalvarConfiguracion;
begin
dmConfiguracion.SalvarConfiguracion;
end;
procedure TdmBase.DataModuleDestroy(Sender: TObject);
begin
DetenerLog;
end;
procedure TdmBase.DetenerLog;
begin
FreeAndNIL(FEscribirLog);
end;
procedure TdmBase.EscribirLog(const AMensaje: String);
begin
FEscribirLog.Acquire;
try
JvLogFile.Add(AMensaje);
finally
FEscribirLog.Release;
end;
end;
end.