| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- library Logger;
- { Important note about DLL memory management: ShareMem must be the
- first unit in your library's USES clause AND your project's (select
- Project-View Source) USES clause if your DLL exports any procedures or
- functions that pass strings as parameters or function results. This
- applies to all strings passed to and from your DLL--even those that
- are nested in records and classes. ShareMem is the interface unit to
- the BORLNDMM.DLL shared memory manager, which must be deployed along
- with your DLL. To avoid using BORLNDMM.DLL, pass string information
- using PChar or ShortString parameters. }
- uses
- FastMM4,
- mybean.core.beanFactory,
- SysUtils,
- Classes,
- Windows,
- ULogger in 'ULogger.pas',
- WindowsSysVersion in 'WindowsSysVersion.pas',
- InterfaceLogger in 'InterfaceLogger.pas',
- ULoggerForMyBean in 'ULoggerForMyBean.pas',
- LoggerImport in 'LoggerImport.pas',
- CodingLogger in 'CodingLogger.pas',
- BaseLogger in 'BaseLogger.pas',
- CodingFrom in 'CodingFrom.pas' {CodingLoggerForm},
- NoLogger in 'NoLogger.pas',
- BehaviorMonitor in 'BehaviorMonitor.pas';
- {$R *.res}
- exports
- Log,
- AsynLog;
-
- const
- DLL_PROCESS_DETACH = 0;
- DLL_PROCESS_ATTACH = 1;
- DLL_THREAD_ATTACH = 2;
- DLL_THREAD_DETACH = 3;
- var
- OldDllProc: TDLLProc;
- procedure ThisDllProc(Reason: Integer);
- begin
- // case Reason of
- // DLL_PROCESS_DETACH:OutputDebugString('---------------------DLL_PROCESS_DETACH---------------------Logger');
- // DLL_PROCESS_ATTACH:OutputDebugString('+++++++++++++++++++++DLL_PROCESS_ATTACH---------------------Logger');
- // DLL_THREAD_ATTACH:OutputDebugString('+++++++++++++++++++++DLL_THREAD_ATTACH---------------------Logger');
- // DLL_THREAD_DETACH:OutputDebugString('---------------------DLL_THREAD_DETACH---------------------Logger');
- // end;
- if Reason = DLL_THREAD_ATTACH then
- IsMultiThread := True;
- if Assigned(OldDllProc) then
- // begin
- OldDllProc(Reason);
- // OutputDebugString('ÓÐOldDllProc');
- // end
- // else
- // OutputDebugString('ÎÞOldDllProc');
- end;
- begin
- OldDllProc := DllProc;
- DllProc := ThisDllProc;
- ThisDllProc(DLL_PROCESS_ATTACH);
- BeanFactory.RegisterBean('Logger', TLoggerBean, True);
- BeanFactory.RegisterBean('CodingLogger', TCodingLogger, True);
- BeanFactory.RegisterBean('NoLogger', TNoLogger, True);
- BeanFactory.RegisterBean('Monitor', TBehaviorMonitor, True);
- end.
|