Bonjour,
J'ai ce message après avoir compilé mon programme:
[dcc32 Erreur fatale] Vcl.Printers.pas(1587): F2051 L'unité Vcl.Dialogs a été compilée avec une version différente de Vcl.Printers.Printer
À l'aide, s'il vous plait!
Merci.
DT
Bonjour,
J'ai ce message après avoir compilé mon programme:
[dcc32 Erreur fatale] Vcl.Printers.pas(1587): F2051 L'unité Vcl.Dialogs a été compilée avec une version différente de Vcl.Printers.Printer
À l'aide, s'il vous plait!
Merci.
DT
Bonjour,
Essaye "construire" le projet au lieu de "compiler" si ça règle pas le problème renomme temporairement les .dcu des unités citées pour forcer le compilateur à les recréer (ou plus exactement mets les dans un autre répertoire pour provoquer leur reconstruction, si ça marche pas tu pourras toujours les remettre en place).
Recherche bien tous les .dcu concernés car en fonction de ce qui a été fait précédemment sur le PC il peuvent être dupliqués et donc il faut que le compilateur ne les trouve pas.
Ps : il ne faut pas effacer un '.dcu' dont a pas la source '.pas' (les sources ne sont pas fournies avec toutes les versions de Delphi).
Bonjour,
Je n'ai pas de fichier ".dcu" dans mon répertoire qui contient mon fichier "Vcl.Printers.pas". J'ai fait "reconstruire" et il ne crée pas le ".dcu". Il me donne par contre la même erreur en pointant la ligne qui contient :
{$IF DEFINED(CLR)}
et le bout du code au complet:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 type {$IF DEFINED(CLR)} PrnRec = record Cur: TPoint; Finish: TPoint; { End of the printable area } Height: Integer; { Height of the current line } end; {$ELSE} PrnRec = record case Integer of 1: ( Cur: TPoint; Finish: TPoint; { End of the printable area } Height: Integer); { Height of the current line } 2: ( Tmp: array[1..32] of AnsiChar); end; {$ENDIF}
Ce "Vcl.Printers.pas" fait partie de mon projet. Ce projet a été crée avec la version XE3. Je le compile dans XE8.
Merci pour l'aide!
DT
Bonjour,
Il y a fatalement un fichier des .dcu qui correspondent à tes .pas Simplement tu n'as regardé au bon endroit.
Cherche avec la zone de recherche de Windows. Printers.pas et dialogs.pas c'est à 99.999 % des fichiesr livrés avec Delphi
Les .dcu que tu as developpés (écrits) sont souvents dans repertoireDeTon projet\debug\win32 (ou peut etre Win64) mais ça dépend de la configuration de ton projet. Par contre les .dcu des sources Delphi sont dans c:\programme files X86 \embarcadero\ ...... ou c:\programmes\embarcadero\ ........ (si compilateur 64 bits ?)
Tu peux aussi faire une modification qui ne change rien dans tes .pas par exemple rajouter une ligne avec un commentaire. ça provoquera la regénération du .dcu
Le compilateur ne recrée pas le .dcu si le fichier .pas correspondant n'a pas été modifié ce qui est vraisemblablement le cas puisque c'est des fichiers source de Delphi .
Donc cherche avec Windows dans le répertoire (et les sous répertoires) ou est installé l'iDE. Cherche Les Printers.pas et printers.dcu et dialogs.pas et dialogs.dcu
Apres avoir mis de coté les .dcu, tu pourras constater qu'apres la compilation ils ont été recréés (date et heure) .
Je ne peux pas être plus précis car j'ai une version plus ancienne de Delphi (XE starter 32 bits). et il peut y avoir quelques différences de répertoires et par ailleurs j'ignore si tu as un compilateur 32 bits uniquement ou 32 et 64 bits et pour quelle plateforme tu compiles. Mais la solution est bien de forcer le compilateur a recréer le (les) .dcu
Ps : en relisant j'ai vu que tu cites deux .pas (et donc deux .dcu) a toi de déterminer quel est celui qui pose problème mais tu peux tu peux aussi obliger le compilateur a recréer les deux .dcu.
Ps2 : en te lisant tu donnes l'impression d'avoir écrit
Bon courage
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager