J'obtiens une erreur après l'installation de Delphi 2007 (Edit: ce problème se produit dans toutes les versions de Delphi de 2006 à 2010) que je ne peux pas comprendre et que je n'ai jamais vue auparavant. Après avoir redémarré, je peux lancer le programme sans aucun problème, mais si je devais fermer le programme et recommencer, cela me donnerait l'erreur suivante:
"Impossible de créer le fichier C:\Utilisateurs\Admin\AppData\Local\Temp\EditorLineEnds.ttr". Le processus ne peut accéder au fichier car il est utilisé par un autre processus. "
"System" a un handle sur ce fichier qui ne peut pas être effacé à moins que je ne redémarre. Je peux également corriger le problème en renommant le fichier avant de lancer le programme.
J'ai essayé de réinstaller le programme sans succès.
Version installée: CodeGear ™ Delphi® 2007 pour Win32® R2 version 11.0.2902.10471. Système d'exploitation: Windows 7 Pro 64bit
Update 08/14 13:35 EDT Vous avez essayé les solutions suivantes, mais vous rencontrez toujours le même problème de verrouillage de fichier:
Je vais essayer de réinstaller Windows à partir de zéro et installer Delphi avant les mises à jour Windows Pour voir si les mises à jour en sont réellement la cause. Pour l’instant, ma solution consiste à renommer EditorLineEnds.ttr avant de lancer Delphi.
À ma connaissance, il existe trois solutions à ce problème:
Remarque: Microsoft a retiré ce correctif quelques jours plus tard et en a publié un nouveau KB2984615 le 2014-08-27. Malheureusement, cela n'a pas résolu le problème pour moi. Peut-être que désinstaller d'abord KB2982791 puis installer KB2984615 pourrait fonctionner, mais je ne l'ai pas essayé.
J'ai écrit un programme simple , qui résout le problème pour moi:
Il utilise FindFirstChangeNotification/FindNextChangeNotification et vérifie si ce fichier existe et si oui, le déplace vers un sous-répertoire unique dans% temp%.
Le code source est disponible de sourceforge .
C'est mon script bds_start.bat qui exécute Delphi2006 sur un système Win7-64bit. J'ai personnalisé la réponse GabeMeister et un script similaire trouvé dans l'un des liens. Je peux maintenant redémarrer DelphiIDE sans redémarrer. Tous les fichiers temporaires ttr sont toujours verrouillés par le système, donc la commande del peut ne pas fonctionner. Ils sont supprimables une fois le système redémarré.
Il est toutefois impossible de redémarrer Delphi en double-cliquant sur les fichiers du projet myproject.dpr. J'avais peur d'installer IDEFixPack pour D2006 car l'un des commentaires ne promettait pas que cela fonctionnerait.
bds_start.bat
@REM http://www.danielmagin.de/blog/index.php/2014/08/windows-update-disable-delphi-2007-2010/
@REM http://stackoverflow.com/questions/25295980/delphi-2007-error-cannot-create-file-c-users-admin-appdata-local-temp-editorl
@REM http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/idecommandline_xml.html
@REM del files created by DelphiIDE, may not able to delete but
@REM moving to a new name is possible. Use unique name by timestamp.
del "%temp%\EditorLineEnds*.ttr"
set dt=%date%_%time:~3,2%-%time:~6,2%
rename "%temp%\EditorLineEnds.ttr" "EditorLineEnds_%dt%.ttr"
start "" "C:\Borland\BDS\4.0\Bin\bds.exe" -pDelphi
En cours d’exécution de CBuilder, remplacez l’argument par -pCBuilder. La meilleure solution serait peut-être de créer l’outil de remplacement de bds.exe, le fichier del/move * .ttr, l’exécution et le passage d’arguments cmd au fichier bds_original.exe d’origine. Cela devrait permettre le redémarrage en double-clic * .dpr. Ou utilisez BdsLauncher.exe qui, à mon avis, est regedit lié à l’extension * .dpr. La liste de processus avait alors le nom bds.exe.
Voici une autre solution de contournement de http://www.danielmagin.de/blog/index.php/2014/08/windows-update-disable-delphi-2007-2010/
Citation:
vous pouvez revenir facilement en arrière de deux manières
1: créer un fichier batch avec les lignes suivantes
wusa/uninstall/kb: 2982791
wusa/uninstall/kb: 2970228
ce fichier de commandes que vous exécutez au démarrage de Windows. mais avec mise à jour automatique les deux mises à jour installe à chaque fois2: désactiver les KB de la mise à jour automatique
après la mise à jour, allez à WindowsUpdates dans votre système. désactiver les deux mises à jour de la base de connaissances, ce ne sera pas installé à nouveau
Pour Delphi 2007, installez IDEFixPack 4.4 et ajoutez la variable d’environnement suivante aux paramètres système:
IDEFixPack.DisabledPatches = DotNet.GlobalizationSearch
Redémarrez et cela devrait fonctionner. J'ai 2 ordinateurs de bureau avec Win 8.1 Pro et ça marche comme un charme!
Signalons simplement que la mise à jour KB2982791 a été retirée par Microsoft. Les raisons invoquées semblent être des problèmes de rendu des polices et de plantage du système et non pas un problème spécifique qui, à première vue, semble être la faute de Delphi et est simplement exacerbé par la mise à jour.
L'article de la Base de connaissances sur le site de Microsoft a été mis à jour: http://support.Microsoft.com/kb/2982791
Plus précisément, ces sections présentent un intérêt:
Problème connu 2
Microsoft étudie le comportement des polices ne pas rendre correctement après l'installation de l'une des mises à jour suivantes:
2982791 MS14-045: Description de la mise à jour de sécurité pour le mode noyau conducteurs: 12 août 2014
2970228 Mise à jour pour prendre en charge la nouvelle devise symbole pour le rouble russe sous Windows
2975719 Mise à jour d’août 2014 cumulatif pour Windows RT 8.1, Windows 8.1 et Windows Server 2012 R2
2975331 correctif cumulatif pour août 2014 pour Windows RT, Windows 8 et Windows Server 2012Statut
Microsoft a supprimé les liens de téléchargement vers ces mises à jour pendant que ces problèmes sont examinés.Problème connu 3
Microsoft étudie le comportement dans lequel des systèmes peuvent se bloque avec un message d'erreur Stop 0x50 (vérification d'erreur) après l'un des Les mises à jour suivantes sont installées:
2982791 MS14-045: Description du Mise à jour de sécurité pour les pilotes en mode noyau: 12 août 2014
2970228 Mise à jour pour prendre en charge le nouveau symbole monétaire du rouble russe en les fenêtres
2975719 correctif cumulatif pour août 2014 pour Windows RT 8.1, Windows 8.1 et Windows Server 2012 R2
2975331 correctif cumulatif d'août 2014 pour Windows RT, Windows 8 et Windows Server 2012Cette condition peut être persistante et peut empêcher le système de démarrer correctement.
Statut
Microsoft a supprimé les liens de téléchargement vers ces mises à jour pendant que ces questions sont à l'étude.
Le problème semble être lié aux mises à jour Windows installées le 13 août . J'ai essayé de désinstaller KB2982791 comme suggéré par l'affiche précédente, mais cela n'a pas résolu le problème . Désinstaller toutes guérir le problème cependant.
Si vous êtes sur Windows, j'ai créé un raccourci de fichier de commandes pour démarrer Delphi. En gros, il s’agit d’un fichier de commandes qui modifie le nom de EditorLineEnds.ttr
avec la date et l’heure actuelles, le déplace dans un autre sous-dossier, puis démarre Delphi.
Voici le contenu de mon script batch:
SET HOUR=%time:~0,2%
SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%%time:~6,2%
SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%
if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%)
if exist "C:\Users\<username here>\AppData\Local\Temp\EditorLineEnds.ttr" (
echo "Moving EditorLineEnds.ttr"
MOVE "C:\Users\<username here>\AppData\Local\Temp\EditorLineEnds.ttr" "C:\Users\<username here>\AppData\Local\Temp\ExtraEditorLineEnds\%dtStamp%.ttr"
) else (
echo "EditorLineEnds.ttr was not found."
)
start "C:\Program Files (x86)\CodeGear\RAD Studio\6.0\bin\bds.exe"
Même chose pour CodeGear Delphi 2009 sous Windows 7
La désinstallation suivante de Windows mise à jour 2982791 2970228 ne vous aidera pas.
L'utilisation du groupe de correctifs IDE par la suite vous aidera.
dzEditorLineEndsFix - Impossible de créer le fichier% Temp%\EditorLineEnd.ttr
Il s’agit d’un petit programme qui résout le problème introduit par la mise à jour Windows KB2982791 avec Delphi 2006-2010 qui provoque l’erreur "Impossible de créer le fichier% Temp%\EditorLineEnds.ttr" . Il fonctionne en déplaçant le fichier vers son propre sous-répertoire à chaque création.
J'utilise Windows 8, pas 8.1
J'ai désactivé toutes les mises à jour Windows et hier, j'ai vérifié les mises à jour et installé toutes les mises à jour de sécurité. Aujourd'hui, j'ai le même problème, mais aucune des mises à jour mentionnées ci-dessus n'a été installée sur mon ordinateur portable . Je les ai toutes recherchées, mais je n'en ai trouvé aucune entre les mises à jour de sécurité installées:
KB2982791, KB2970228, KB2975719, KB2975331
Mais j'ai trouvé une autre mise à jour KB2993651 et j'ai essayé de la désinstaller, le processus de désinstallation a été interrompu. Je réinitialise ma composition. Maintenant, je ne trouve pas cette mise à jour et le problème n’a pas été résolu.
Donc, n'a pas trouvé une autre solution de contournement et a créé le script suivant, que je lance avant d'ouvrir RAD 2010.
cd %temp%
ren EditorLineEnds.ttr EditorLineEnds%RANDOM%.ttr
J'utilise la fonction% RANDOM%, car avec le nom fixe la deuxième fois, le fichier renommé sera également verrouillé et le script ne pourra pas être renommé.