Global.cpp 1.7 KB

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