Bonjour à tous,
petit problème, je décris :
j'ai écris un petit programme (TService) qui prend des données sous forme de fichier (déposés par ftp) et les intégres dans une base de donnée Firebird.
Le service est installé et tout fonctionne parfaitement jusqu'à ce que je reboot le serveur.
Après le reboot, le service se lance (startup type = automatique), mais les mise à jours dans la base de donnée ne se font plus, car le format de date est mm/dd/aaaa.
Si je me connect au serveur et que je relance le service manuellement (stop - start), le format de date revient à dd.mm.aaaa, et tout fonctionne.
J'utilise le code suivant pour initialiser les paramètres de format :
et pour la convertion en string :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var FormatSettings : TFormatSettings; GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, formatSettings); FormatSettings.DateSeparator:='.'; FormatSettings.ShortDateFormat :='dd.mm.yyyy';
Il est à noter, que "Now" retourne la date et l'heure TU après le reboot et la date et l'heure locale après un restart manuel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part variable_string := DateTimeToStr(Now,FormatSettings);
Toutes les (bonnes) idées sont bienvenues.
Salutations.
Partager