Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   C++ FloatToStr nicht Thread-sicher aber erweiterte Form? (https://www.delphipraxis.net/185608-floattostr-nicht-thread-sicher-aber-erweiterte-form.html)

himitsu 24. Jun 2015 15:44

AW: FloatToStr nicht Thread-sicher aber erweiterte Form?
 
Wenn du die erweiterte Version nimmst und in mehreren Threads aufrufst, dann trifft genau das Selbe zu ... nur halt in einem kleineren und abgegrenzteren Raum, welchen nur du kontrollierst.

Nur Lesen ist weitestgehenst thread-save, wobei die globale Variable, z.B. durch ein WM_WININICHANGE, sich urplözlich mal ändern könnte.
Die Referenzzählung von LongStrings ist thread-save implementiert. (was hier also z.B. die DateFormat-Strings betrifft)

Mikkey 24. Jun 2015 16:46

AW: FloatToStr nicht Thread-sicher aber erweiterte Form?
 
Vielen Dank, das war das, was ich wissen wollte.

Die Möglichkeit der flachen Kopie scheidet wegen der höchstwahrscheinlich dann gestörten Referenzzählung dann auch aus.

Die Klasse, die die Formateinstellungen bereitstellt, sieht nun so aus:
Code:
class...
{
  TFormatSettings m_FormatSettings;
...
  TFormatSettings* GetFormatSettings() {return &m_FormatSettings;};
};
Delphi-Quellcode:
GetFormatSettings()
ist Funktion einer implementierten Schnittstelle und deshalb kein
Delphi-Quellcode:
__property
.

m_FormatSettings wird beim Erzeugen der Instanz wie benötigt gefüllt und danach nicht mehr verändert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:22 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz