2016-03-06 3 views
0

J'ai un morceau de code fondamentalement copié-collé de delphi6 vers l'application rad2010, cependant, il semble y avoir une différence dans le fonctionnement des fonctions d'E/S (sur Windows 8+ seulement). Mes programmes créent un nouveau fichier (en utilisant rewrite, filemode, close, etc, rien d'extraordinaire) dans le dossier "c: \ programdata" (en fait celui lu dans "common appdata" du registre). L'application delphi6 crée le fichier et peut y écrire à nouveau. De telles fonctionnalités de fichier suppriment normalement lorsque vous cliquez avec le bouton droit dans Windows Explorer. Rad2010-application-created-file, cependant, comporte l'icône de l'administrateur sur la suppression, et la même application est incapable de l'ouvrir pour écrire la prochaine fois qu'elle est appelée. Est-ce possible de corriger avec un minimum de corrections de code afin que je puisse utiliser mes codes d'âge de pierre ou dois-je étudier des manifestes et d'autres choses modernes? S'il vous plaît, soyez aussi bref que possible et non pourquoi. Je vous remercie.Différences dans le fichier i/o entre delphi6 et rad2010 sur windows8-10

Répondre

0

Ceci est évidemment un problème de système d'exploitation (mon application rad2010 fonctionne même lorsqu'elle est appelée sur un ordinateur win10 à partir d'un ordinateur win7 sur le réseau). La solution consiste à utiliser la fonction createfile d'api (au lieu de réécrire) avec tous les droits d'accès 1er paramètre ($ 1FF), par exemple createfile(filename,$1FF,0,nil,2,128,0)