Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi DateTimeToStr(x, FS) nicht threadsafe (https://www.delphipraxis.net/120566-datetimetostr-x-fs-nicht-threadsafe.html)

Win32.API 12. Sep 2008 21:07


DateTimeToStr(x, FS) nicht threadsafe
 
Hallo,

DateTimeToStr(x, FS) ist ja bekanntlich nicht Threadsafe, deswegen gibt es die Funktion DateTimeToStr(x, FS). Diese sollte Threadsafe sein, ist sie aber nicht.

Delphi-Quellcode:
 GetLocaleFormatSettings(0, FS);
 strTimestamp := Format('[%s] ', [DateTimeToStr(now, FS)]);
Haut meinem Thread immer raus, gibt es Alternative zu DateTimeToStr?


Gruß,
Win32Api

toms 12. Sep 2008 21:11

Re: DateTimeToStr(x, FS) nicht threadsafe
 
Delphi-Quellcode:
DateTimeToStr(x, FS) ist ja bekanntlich nicht Threadsafe, deswegen gibt es die Funktion DateTimeToStr(x, FS).
Hallo, was ist der Unterschied zwischen DateTimeToStr(x, FS) und DateTimeToStr(x, FS) ?

Win32.API 12. Sep 2008 21:19

Re: DateTimeToStr(x, FS) nicht threadsafe
 
Gibt keinen :-D, sollte DateTimeToStr(x) (Angeblich nicht Threadsafe) und DateTimeToStr(x, FS) (Angeblich Threadsafe) heißen. Sorry.

mkinzler 12. Sep 2008 21:21

Re: DateTimeToStr(x, FS) nicht threadsafe
 
Der Unterschied ist eher das das erstere die Einstellungen des BS übernimmt und das zweitere das Format übergeben bekommt

Win32.API 12. Sep 2008 21:25

Re: DateTimeToStr(x, FS) nicht threadsafe
 
Zitat:

Der Unterschied ist eher das das erstere die Einstellungen des BS übernimmt
Ja, deswegen wird bei der ersten Variante auch auf eine Globale Variable zugegriffen, nicht threadsafe. Wenn man die Format-Einstellung selber angibt sollte dies nicht passieren.

Zitat:

das zweitere das Format übergeben bekommt
Sollte doch somit threadsafe sein, oder?

Dax 12. Sep 2008 21:48

Re: DateTimeToStr(x, FS) nicht threadsafe
 
Simultaner Zugriff ist threadsafe, solange niemand auf die Variable schreibt...

Win32.API 12. Sep 2008 22:18

Re: DateTimeToStr(x, FS) nicht threadsafe
 
Ist mir durchaus bewusst, aber da ich nicht weiss wie die Funktion implementiert ist kann ich nicht nachschauen was da schief laeuft. Die Frage bleibt jedoch, wieso haut selbst der zweite Aufruf meinen Thread raus?

Edith meint, ich sollte um diese Uhrzeit lieber nicht mehr programmieren, der eigentlicher Fehler lag 5 Zeilen weiter unten. :wall:

Danke an alle, die mir versucht haben zu helfen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:02 Uhr.

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