Da das Problem nun schon wieder auftrat, hab ich mir das Problem nochmals angeschaut:
Den Service zum Mailholen hab ich nun so angepasst:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| filename := 'trallala';
slXML.SaveToFile(filename+'.part'); slXML.Free();
RenameFile(filename+'.part',filename+'.xml'); |
Also vorher hatte ich eine Datei trallala.xml.part, wenn sie auf die Platte geschrieben wurde, nun heißt sie nur trallala.part.
Ich hatte nun noch eine zusätzliche Vermutung, dass der zweite Service, der dann das XMl braucht, schon auf die unvollständige Datei zugreift. Das mach ich per FindFirst():
Delphi-Quelltext
1:
| findOK := FindFirst('*.xml', faAnyfile, sr); |
Kann es sein, dass FindFirst auch auf Dateien zugreift, die nach dem .xml noch was stehen haben? Sozusagen auf .xml* ? Nur dürfte der zweite Service doch noch gar keinen Zugriff auf die Datei haben, solange der erste Service diese Datei noch schreibt oder überseh ich da irgendwas?
Allerdings weiß ich nicht, ob das nun schon die Lösung sein könnte, wie oben angegeben, indem ich die Datei erst nach dem vollständigen Speichern .xml nenne, da der Fehler einfach mal nur per Zufall reproduzierbar zu sein scheint...
Hat ja noch jemand eine Idee bzw. kann mir weiterhelfen? Mir fällt mittlerweile nichts mehr ein

"Kekskrümel im Bett pieksen weniger, wenn man vorher darauf uriniert", meinte mal ein Kumpel...