Globals.pas 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. unit Globals;
  2. interface
  3. uses OpenProjectManager, SupportUnit, ProjectManagerDm, ReportManager, LogUtils;
  4. function OpenProjectManager: TOpenProjectManager;
  5. function SupportManager: TSupportManager;
  6. function ProjectManager: TProjectManagerData;
  7. function ReportTemplateManager: TTemplateManager;
  8. function ReportConfig: TReportConfig;
  9. function MemoryReportManager: TMemoryReportManager;
  10. function MeasureLog: TLogUtils;
  11. function TimeLog: TTimeLogManager;
  12. implementation
  13. var
  14. _OpenProjectManager: TOpenProjectManager;
  15. _SupportManager: TSupportManager;
  16. _ProjectManager: TProjectManagerData;
  17. _ReportTemplateManager: TTemplateManager;
  18. _ReportConfig: TReportConfig;
  19. _MemoryReportManager: TMemoryReportManager;
  20. _MeasureLog: TLogUtils;
  21. _TimeLog: TTimeLogManager;
  22. function OpenProjectManager: TOpenProjectManager;
  23. begin
  24. if not Assigned(_OpenProjectManager) then
  25. _OpenProjectManager := TOpenProjectManager.Create;
  26. Result := _OpenProjectManager;
  27. end;
  28. function SupportManager: TSupportManager;
  29. begin
  30. if not Assigned(_SupportManager) then
  31. _SupportManager := TSupportManager.Create;
  32. Result := _SupportManager;
  33. end;
  34. function ProjectManager: TProjectManagerData;
  35. begin
  36. if not Assigned(_ProjectManager) then
  37. _ProjectManager := TProjectManagerData.Create;
  38. Result := _ProjectManager;
  39. end;
  40. function ReportTemplateManager: TTemplateManager;
  41. begin
  42. if not Assigned(_ReportTemplateManager) then
  43. _ReportTemplateManager := TTemplateManager.Create;
  44. Result := _ReportTemplateManager;
  45. end;
  46. function ReportConfig: TReportConfig;
  47. begin
  48. if not Assigned(_ReportConfig) then
  49. _ReportConfig := TReportConfig.Create;
  50. Result := _ReportConfig;
  51. end;
  52. function MemoryReportManager: TMemoryReportManager;
  53. begin
  54. if not Assigned(_MemoryReportManager) then
  55. _MemoryReportManager := TMemoryReportManager.Create;
  56. Result := _MemoryReportManager;
  57. end;
  58. function MeasureLog: TLogUtils;
  59. begin
  60. if not Assigned(_MeasureLog) then
  61. _MeasureLog := TLogUtils.Create;
  62. Result := _MeasureLog;
  63. end;
  64. function TimeLog: TTimeLogManager;
  65. begin
  66. if not Assigned(_TimeLog) then
  67. _TimeLog := TTimeLogManager.Create;
  68. Result := _TimeLog;
  69. end;
  70. initialization
  71. finalization
  72. _OpenProjectManager.Free;
  73. _SupportManager.Free;
  74. _ProjectManager.Free;
  75. _ReportTemplateManager.Free;
  76. _ReportConfig.Free;
  77. _MemoryReportManager.Free;
  78. _MeasureLog.Free;
  79. _TimeLog.Free;
  80. end.