Global.cpp 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //---------------------------------------------------------------------------
  2. #include <CorePCH.h>
  3. #pragma hdrstop
  4. //---------------------------------------------------------------------------
  5. #pragma package(smart_init)
  6. //---------------------------------------------------------------------------
  7. const UnicodeString EmptyString(TraceInitStr(L"\1\1\1")); // magic
  8. //---------------------------------------------------------------------------
  9. UnicodeString NormalizeString(const UnicodeString & S)
  10. {
  11. UnicodeString Result = S;
  12. if (Result == EmptyString)
  13. {
  14. Result = UnicodeString();
  15. }
  16. return Result;
  17. }
  18. //---------------------------------------------------------------------------
  19. UnicodeString DenormalizeString(const UnicodeString & S)
  20. {
  21. UnicodeString Result = S;
  22. if (Result.IsEmpty())
  23. {
  24. Result = EmptyString;
  25. }
  26. return Result;
  27. }
  28. //---------------------------------------------------------------------------
  29. // TGuard
  30. //---------------------------------------------------------------------------
  31. __fastcall TGuard::TGuard(TCriticalSection * ACriticalSection) :
  32. FCriticalSection(ACriticalSection)
  33. {
  34. DebugAssert(ACriticalSection != NULL);
  35. FCriticalSection->Enter();
  36. }
  37. //---------------------------------------------------------------------------
  38. __fastcall TGuard::~TGuard()
  39. {
  40. FCriticalSection->Leave();
  41. }
  42. //---------------------------------------------------------------------------
  43. // TUnguard
  44. //---------------------------------------------------------------------------
  45. __fastcall TUnguard::TUnguard(TCriticalSection * ACriticalSection) :
  46. FCriticalSection(ACriticalSection)
  47. {
  48. DebugAssert(ACriticalSection != NULL);
  49. FCriticalSection->Leave();
  50. }
  51. //---------------------------------------------------------------------------
  52. __fastcall TUnguard::~TUnguard()
  53. {
  54. FCriticalSection->Enter();
  55. }
  56. //---------------------------------------------------------------------------