Inclure le fichier de ressources dans un projet par fichier .RC plutôt que par fichier .RES
Je me souviens avoir lu un article ou un post quelque part il y a des années, qui a suggéré d'inclure un fichier de ressources dans un projet de référencement par la .rc fichier au lieu d'un déjà compilé .res fichier, de sorte que la ressource est construit dans le cadre du projet du processus de construction.
J'ai une glyphes.fichier rc que j'ai actuellement compiler à l'aide de la commande brcc32 glyphes.rc. Dans mon fichier de projet je dois ensuite l'état {$R Glyphes.res}.
Je tiens à le simplifier en changer pour quelque chose comme
{$R Glyphs.rc}
mais je suis pas sûr de la syntaxe. Quand j'ai essayer d'utiliser {$R Glyphs.rc}
je reçois un message d'erreur `
[DCC Error] E2161 Error: RLINK32: Unsupported 16bit resource in file "Glyphs.rc".
Cette approche est-elle possible avec Delphi 2007?
source d'informationauteur lukeck
Vous devez vous connecter pour publier un commentaire.
Il suffit d'ajouter le fichier rc pour votre projet via le Projet "> Ajouter au projet" dans le menu. Cela crée la
{$R 'myres.res' 'myres.rc'}
ligne à partir de l'affichage que TOndrej des liens vers d'.L'éditeur de liens ne peut gérer que res fichiers, mais vous pouvez indiquer au compilateur d'invoquer le compilateur de ressources et de compiler un rc script pour produire un res fichier et le lien qui, à l'aide d'une variation de la $R/$RESSOURCE directive.
Dans votre cas (Delphi 2007), vous devez seulement changer:
à
Si cela ne fonctionne pas sur son propre, essayez d'ajouter de la RC pour le projet. Dans les différentes versions de Delphi, vous pouvez avoir besoin des guillemets simples autour de l'noms de fichiers:
REMARQUE: Vous ne encore besoin d'identifier un res fichier, la différence est dans le fait d'être en mesure d'identifier le rc fichier à compiler afin de produire les res fichier, en premier lieu.
Soutien pour, cela semble avoir été l'objet de quelques retouches et dans les versions plus récentes de l'ajout de la RC pour le projet ne semble pas toujours être "détecté" par le projet jusqu'à ce que, après vous avez ensuite enregistré, fermé et ré-ouvert le projet (par exemple, j'ai trouvé ceci pour être le cas dans XE4 mais peut également s'appliquer à d'autres versions).
Également dans certaines des versions plus récentes, tout simplement en ajoutant par exemple une
$R 'file.res' 'file.rc'
déclaration de la RMR causes du Gestionnaire de Projet pour identifier le référencés fichier RC dans le cadre du projet, mais cela ne semble pas être le cas dans les anciennes versions. De nouveau, une partie de la bidouille dans ce domaine, il me semble.Je voudrais également noter la XE4 est généralement solide de roche en termes de stabilité, mais en ajoutant/supprimant des fichiers RC a semblé déclencher une violation d'accès lors de la fermeture de l'IDE, bien que normale, la stabilité semble être restaurées lors de la ré-ouverture de l'IDE et du projet. c'est-à-ajout/suppression de fichiers RC qui semble poser un problème, pas simplement le fait d'avoir le fichier RC dans le projet.
Mise à JOUR: Dans les dernières versions de Delphi (Delphi 10.2 Berlin), vous devez inclure des ressources avant de
{$R *.res}
ligne, sinon ils ne seront pas automatiquement compilé.Voir un exemple ici: "Comment puis-je faire un PNG de ressources?".
J'ai eu le même problème et trouvé quelque chose de nouveau.
c'est le code pour la compilation des glyphes.rc pour les glyphes.res dans les phases de pré-construction. (Fonctionne avec Delphi XE4)
Mais ce code ne fonctionne que si il est dans le *.rmr de fichier! Si vous placez ce code dans un *.pas de fichier comme je l'ai fait la première fois, il sera tout simplement se comporter comme {$R glyphes.res} et ne sera pas compiler le fichier RC. C'est peut-être un bug dans Delphi.
Je ne pouvais pas me débarrasser de la mainicon dans mon application, j'ai donc fait une trapgate.fichier rc mettre ce fichier dans le répertoire src, utilisé:
Ensuite utilisé BRCC32 pour faire de la RC un fichier RES, a fait de construire et j'ai eu la bonne icône.
vous pouvez aussi mettre plus d'icônes dans il y et switch c'est pourquoi j'ai ajouté la ligne dans makeres.chauve-souris
ressemble à ceci :
Alors ce que vous faites, même si vous modifiez l'icône dans le dossier ..\icons bien sûr, assurez-vous qu'il a le nom correct comme mainicon.ico et 5012.ico
De l'espoir qui n'a de l'aide pour ne qui ne peut pas changer l'icône en Delphi 7.
J'ai essayé de le faire dans Delphi 2007 et il n'a pas de travail. J'avais mis la ligne,
"{$R glyphes.res glyphes.rc}"
dans mon fichier de projet droit au-dessus de la "{$R *.res}" de la ligne que l'IDE met là-dedans, mais quand j'ai ajouté le fichier rc à l'aide de l'IDE, il le met au-dessus de la "utilise" en ligne et puis il a travaillé.