git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@63 0c75b7a4-871f-7646-8a2f-f78d34cc349f
This commit is contained in:
parent
3854ac2d6a
commit
cfa04cc384
1627
Source/Base/uDMBase.dfm
Normal file
1627
Source/Base/uDMBase.dfm
Normal file
File diff suppressed because it is too large
Load Diff
135
Source/Base/uDMBase.pas
Normal file
135
Source/Base/uDMBase.pas
Normal 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.
|
||||
Loading…
Reference in New Issue
Block a user