jusqu'à présent, chaque fois que je voulais créer un fichier sans écraser un existant, je l'ai fait quelque chose comme ceci:Comment créer un fichier enregistré sans écraser un fichier existant?
if not FileExists(filename) then
stream := TFileStream.Create(filename, fmCreate);
Mais ce n'est pas threadsafe. Alors maintenant je cherche une version threadsafe.
Peut-être que je peux combiner certains modes de sorte que TFileStream.Create(filename, fmCreate +fm???);
échoue si le fichier existe?
J'ai besoin de cela pour communiquer les verrous de répertoire avec les anciens programmes DOS. Mais les programmes DOS ne contiennent pas les fichiers ouverts. :-(
-ce que les programmes DOS doivent verrouiller le fichier aussi? faire la Et nous ne parlons pas thread-safe d'application Delphi ne fera pas thread-safe programmes DOS. sur les threads, mais sur les processus ici. Etes-vous sûr que vous avez affaire à des programmes DOS, pas à des programmes en ligne de commande Win32? Pour être certain que nous vous fournissons une solution de travail, nous aurons besoin d'en savoir plus sur la partie "Programmes DOS" de votre ordinateur. chitecture: comment fonctionnent-ils? quelle application verrouille le répertoire? quel genre de machine d'état utilisez-vous pour le verrouillage? –
quel est ce DOS dont vous parlez? Courez-vous sur Windows 98? –
@David, AFAIK vous pouvez exécuter des programmes DOS sur toutes les versions 32 bits de Windows, y compris Windows 7 32 bits; Pas besoin de Windows 98! –