cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 2013
-
11 mars 2005 à 19:57
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 2014
-
15 mars 2005 à 13:29
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 15 mars 2005 à 13:29
Voilà, je viens de tester et je comence à comprendre la finalité des directives ...
Juste une petite remarque tout de même: pour ceux qui ont essayé et qui, comme moi sont aller dans les options enlever la directive 'VERSION_TEST', il faut impérativement compiler en faisant BUILD ALL sinon, si vous faites seulement compile ça va pas recompiler les unités non changées et donc, vous serez encore en version Test!
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 14 mars 2005 à 18:36
Merci Lassal pour cette source.
Je viens juste de la telecharger mais malheureusement, je ne pourrais voire cela que demain si tout va bien.
Emandhal
Messages postés194Date d'inscriptiondimanche 2 mars 2003StatutMembreDernière intervention10 octobre 20063 14 mars 2005 à 15:17
Je suis d'accord, mais avec ta méthode si je veux recompiler tous les exe, je suis obligé de passer par les options du projet et de choisir la directive, mais je ne peux pas, quand je fais "construire le projet' lui faire faire en une fois :
- Directive de compilation "Version_Normale" -> MonAppli_Normale.exe
- Directive de compilation "Version_Pro" -> MonAppli_Pro.exe
Je suis donc obligé de faire "diective de compilation : Version_Normale" puis "Construire le projet" puis renommer l'exe en "MonAppli_Normale.exe" puis faire "diective de compilation : Version_Pro" puis "Construire le projet" puis renommer l'exe en "MonAppli_Pro.exe". Ce qui est contraignant :s
cs_Lassal
Messages postés27Date d'inscriptionjeudi 7 novembre 2002StatutMembreDernière intervention21 mai 2008 14 mars 2005 à 14:00
Bah de rien Delphiprog ;-) en faite c'est après un commentaire de Mauricio justement que je me suis dit que ca pourrait être pas mal de le faire. (D'autant plus que ce jours là c'était plutôt tranquille au boulot)
Sinon Emandhal, justement l'utilisation des directives de compilation, peuvent régler ton problème...
En faites dans le cas par exemple ou tu ne veux pas que l'utilisateur ai accès à un menu ou un bouton dans ton application. Et bien tu peux faire un truc dans le genre
Et donc si tu compiles avec comme directive de compilation "VERSION_PRO" tu auras une version ou le Button1 sera accessible, sinon dans tout aute cas ce bouton ne sera pas accéssible.
En gros en fonction de ta directive de compilation tu prends en compte ou pas certaine partie de ton code.
Emandhal
Messages postés194Date d'inscriptiondimanche 2 mars 2003StatutMembreDernière intervention10 octobre 20063 13 mars 2005 à 11:55
Petite question :
Si je veux que avec un projet faire plusieurs exécutables, comment faire avec ces directives? Je veux dire par là, si par exemple je fais un programme et que je veux faire une version normale avec certaines options et une version pro avec plus d'options mais que la version normale ai pas les options supplémentaires de la pro.
On m'a dit qu'il fallait passer par brcc32.exe et de préciser à chaque fois la directive à prendre en compte pour l'exécutable et donc pour faire plusieurs exe, prendre un .bat
Je voudrai juste savoir si vous avez des solutions plus simples où en compilant le projet sous delphi, il crée tous les exe. Je n'ai pas envie de faire 2 projets différents.
Merci d'avance pour vos propositions :)
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 11 mars 2005 à 19:57
Voilà qui m'évitera de faire un tuto pour répondre à Mauricio. Merci lassal ;o)
J'aimerai mentionner une autre façon de procéder, en faisant appel à la directive d'inclusion $i.
Pour cela, il faut créer un fichier texte (par convention avec une extension .inc) et y inscrire toutes les directives que l'on souhaite.
Ensuite, dans chaque unité où l'on souhaite faire appel aux directives, il suffit d'écrire :
unit MachinChose;
{$I directives.inc}
Quand on a des directives qui sont fréquemment utilisées dans différents projets, il est plus intéressant de procéder ainsi. Sinon, il faut penser à modifier les options dans chaque projet concerné.
15 mars 2005 à 13:29
Juste une petite remarque tout de même: pour ceux qui ont essayé et qui, comme moi sont aller dans les options enlever la directive 'VERSION_TEST', il faut impérativement compiler en faisant BUILD ALL sinon, si vous faites seulement compile ça va pas recompiler les unités non changées et donc, vous serez encore en version Test!
14 mars 2005 à 18:36
Je viens juste de la telecharger mais malheureusement, je ne pourrais voire cela que demain si tout va bien.
14 mars 2005 à 15:17
- Directive de compilation "Version_Normale" -> MonAppli_Normale.exe
- Directive de compilation "Version_Pro" -> MonAppli_Pro.exe
Je suis donc obligé de faire "diective de compilation : Version_Normale" puis "Construire le projet" puis renommer l'exe en "MonAppli_Normale.exe" puis faire "diective de compilation : Version_Pro" puis "Construire le projet" puis renommer l'exe en "MonAppli_Pro.exe". Ce qui est contraignant :s
14 mars 2005 à 14:00
Sinon Emandhal, justement l'utilisation des directives de compilation, peuvent régler ton problème...
En faites dans le cas par exemple ou tu ne veux pas que l'utilisateur ai accès à un menu ou un bouton dans ton application. Et bien tu peux faire un truc dans le genre
procedure TForm1.FormShow(Sender: TObject);
begin
{$IFDEF VERSION_PRO}
Button1.Visible := True;
{$ELSE}
Button1.Visible := False;
{$ENDIF}
end;
Et donc si tu compiles avec comme directive de compilation "VERSION_PRO" tu auras une version ou le Button1 sera accessible, sinon dans tout aute cas ce bouton ne sera pas accéssible.
En gros en fonction de ta directive de compilation tu prends en compte ou pas certaine partie de ton code.
13 mars 2005 à 11:55
Si je veux que avec un projet faire plusieurs exécutables, comment faire avec ces directives? Je veux dire par là, si par exemple je fais un programme et que je veux faire une version normale avec certaines options et une version pro avec plus d'options mais que la version normale ai pas les options supplémentaires de la pro.
On m'a dit qu'il fallait passer par brcc32.exe et de préciser à chaque fois la directive à prendre en compte pour l'exécutable et donc pour faire plusieurs exe, prendre un .bat
Je voudrai juste savoir si vous avez des solutions plus simples où en compilant le projet sous delphi, il crée tous les exe. Je n'ai pas envie de faire 2 projets différents.
Merci d'avance pour vos propositions :)
11 mars 2005 à 19:57
J'aimerai mentionner une autre façon de procéder, en faisant appel à la directive d'inclusion $i.
Pour cela, il faut créer un fichier texte (par convention avec une extension .inc) et y inscrire toutes les directives que l'on souhaite.
Ensuite, dans chaque unité où l'on souhaite faire appel aux directives, il suffit d'écrire :
unit MachinChose;
{$I directives.inc}
Quand on a des directives qui sont fréquemment utilisées dans différents projets, il est plus intéressant de procéder ainsi. Sinon, il faut penser à modifier les options dans chaque projet concerné.