Globals.pas 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. unit Globals;
  2. interface
  3. uses OpenProjectManager, SupportUnit, ProjectManagerDm, ReportManager;
  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. implementation
  11. var
  12. _OpenProjectManager: TOpenProjectManager;
  13. _SupportManager: TSupportManager;
  14. _ProjectManager: TProjectManagerData;
  15. _ReportTemplateManager: TTemplateManager;
  16. _ReportConfig: TReportConfig;
  17. _MemoryReportManager: TMemoryReportManager;
  18. function OpenProjectManager: TOpenProjectManager;
  19. begin
  20. if not Assigned(_OpenProjectManager) then
  21. _OpenProjectManager := TOpenProjectManager.Create;
  22. Result := _OpenProjectManager;
  23. end;
  24. function SupportManager: TSupportManager;
  25. begin
  26. if not Assigned(_SupportManager) then
  27. _SupportManager := TSupportManager.Create;
  28. Result := _SupportManager;
  29. end;
  30. function ProjectManager: TProjectManagerData;
  31. begin
  32. if not Assigned(_ProjectManager) then
  33. _ProjectManager := TProjectManagerData.Create;
  34. Result := _ProjectManager;
  35. end;
  36. function ReportTemplateManager: TTemplateManager;
  37. begin
  38. if not Assigned(_ReportTemplateManager) then
  39. _ReportTemplateManager := TTemplateManager.Create;
  40. Result := _ReportTemplateManager;
  41. end;
  42. function ReportConfig: TReportConfig;
  43. begin
  44. if not Assigned(_ReportConfig) then
  45. _ReportConfig := TReportConfig.Create;
  46. Result := _ReportConfig;
  47. end;
  48. function MemoryReportManager: TMemoryReportManager;
  49. begin
  50. if not Assigned(_MemoryReportManager) then
  51. _MemoryReportManager := TMemoryReportManager.Create;
  52. Result := _MemoryReportManager;
  53. end;
  54. initialization
  55. finalization
  56. _OpenProjectManager.Free;
  57. _SupportManager.Free;
  58. _ProjectManager.Free;
  59. _ReportTemplateManager.Free;
  60. _ReportConfig.Free;
  61. _MemoryReportManager.Free;
  62. end.