furax13
Messages postés90Date d'inscriptionmardi 28 octobre 2003StatutMembreDernière intervention24 avril 2008
-
8 déc. 2004 à 19:59
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 2006
-
14 déc. 2004 à 10:39
bonjour,
je viens de récupérer un projet delphi (12 .dfm et environ 40 .pas)
Tout est à plat.
Peut-on mettre les fichiers .pas dans des répertoires différents (dfm et .pas associé dans un réperoire GUI, répertoire math pour tous les .pas liés à des fonctions mathématiques, ...)?
Peut-on stocker les fichiers générées (.dcu) dans un répertoire compil?
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 9 déc. 2004 à 09:08
Honnetement je n'ai jamais essayé de séparer les différents fichiers delphi. Je ne suis pas sur que ce soit réalisable mais surtout je ne vois pas trop le gain.
Pourquoi souhaiterais tu séparés tous ces fichiers?
furax13
Messages postés90Date d'inscriptionmardi 28 octobre 2003StatutMembreDernière intervention24 avril 2008 9 déc. 2004 à 09:36
L'objectif est de classer par domaine les différents types de fichiers.
Cela permet d'avoir une meilleure lisibilité de l'application et propose un découpage fonctionnel sous forme d'arborescence.
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 9 déc. 2004 à 09:44
Ouais je l'avais bien compris comme ca. En attendant ta réponse j'ai regarder un peu delphi et je pense que c'est réalisable.
Pour cela tu vas dans le menu "Projet" puis "Options" (ou sinon tu fais un click droit sur ton project dans le gestionnaire de project puis "Options").
Une fenetre à onglet s'ouvre et tu vas dans l'onglet "Répertoires/conditions" puis tu fais F1 et tu auras cette aide et je pense que ça devrait repondre a tes attentes.
Utilisez la page Répertoires/Conditions de la boîte de dialogue Options du projet, pour spécifier l'emplacement des fichiers nécessaires à la compilation, la liaison et la distribution de vos programmes. En outre, vous pouvez spécifier dans cette page les définitions du compilateur. Cliquez sur la flèche, à droite de chaque boîte de saisie, pour choisir un répertoire ou un symbole déjà entré.
Répertoires
Destination Spécifie le répertoire où le compilateur placera les unités compilées et le fichier exécutable.
Destination de l'unité Spécifie un répertoire distinct pour contenir les fichiers .dcu. Notez que les fichiers .dcp peuvent être placés ailleurs en définissant le chemin d'accès au répertoire de destination DCP, dans la page Bibliothèque de la boîte de dialogue Outils|Options d'environnement.
Chemin de recherche Spécifie l'emplacement des fichiers source. Seuls les fichiers qui se trouvent dans le chemin de recherche du compilateur ou dans le chemin de recherche des bibliothèques seront inclus dans le build. Si vous essayez de construire votre projet avec un fichier absent du chemin de recherche, vous provoquerez une erreur de compilation. Vous devez saisir le chemin d'accès complet.
Si vous cochez Utiliser DCUs de débogage (Projet|Options|page Compilateur), le chemin des DCU débogage (Outils|Options du débogueur|page Général) est ajouté au début du chemin de recherche.
Sources débogage Chemin de recherche pour le débogueur. Le débogueur utilise les chemins d'accès définis par défaut par le compilateur. Si la structure des répertoires a été modifiée depuis la dernière compilation, vous pouvez entrer ici un chemin d'accès permettant d'inclure un fichier dans la session de débogage.
Destination BPL Spécifie le répertoire où le compilateur place les fichiers de paquets générés (fichiers bpl).
Destination DCP Spécifie le répertoire où votre fichier .dcp est placé lors de la compilation. Si cette option n'est pas précisée, le répertoire de sortie dcp global spécifié dans la page Bibliothèque de la boîte de dialogue Outils|Options d'environnement sera utilisé.
Conseils pour les chemins de recherche
Suivez les conseils ci-dessous lorsque vous entrez les noms des répertoires dans la boîte de saisie Chemin de recherche :
Vous pouvez spécifier plusieurs répertoires en les séparant par des points-virgules (;).
Les espaces avant et après le point-virgule sont autorisés mais non nécessaires.
Les chemins relatifs et absolus sont autorisés, y compris les chemins relatifs à la position en cours.
Conditionnels
Définitions Symboles référencés dans les directives de compilation conditionnelles. Plusieurs définitions peuvent être séparées par des points-virgules.
Alias
Alias d'unités Utile pour la compatibilité avec les versions précédentes. Spécifie les noms d'alias d'unités dont le nom a été modifié ou d'unités ayant été regroupées. Le format est =<nouvelle_unité>. Vous pouvez séparer plusieurs alias par des points-virgules. La valeur par défaut est WinTypes=Windows;WinProcs=Windows.Default.
Défaut
Cochez Défaut pour que les options de projet en cours afin que chaque nouveau projet créé les utilise.
furax13
Messages postés90Date d'inscriptionmardi 28 octobre 2003StatutMembreDernière intervention24 avril 2008 13 déc. 2004 à 09:37
j'ai modifié l'arborescence de mes fichiers sources de la façon suivante :
c:\MonProjet\MonProjet.dpr (j'ai rajouté pour chaque fichier le
chemin d'accès aux units
(Ex: matrice in '.\Source\Maths\matrice.pas')
c:\MonProjet\include : contient les fichiers .inc utilisés
c:\MonProjet\bin : contient l'exe généré
c:\MonProjet\debug : contient toutes les dcu
c:\MonProjet\Source\Maths : contient les .pas liés aux fonctionnalités mathématiques
c:\MonProjet\Source\GUI : contient les .dfm et .pas des interfaces
c:\MonProjet\Source\DataBase : contient les .pas liés aux accès BD
c:\MonProjet\Source\Modele : contient les .pas liés aux fonctionnalités du coeur de l'appli
c:\MonProjet\Images : contient les images utilisées dans l'appli
c:\MonProjet\Data : données de l'appli
Dans le module Options du projet, dans l'onglet répertoire/Conditions, j'ai mis les chemins suivants :
Destination : .\bin
Destination de l'unité : .\Debug
Chemin de recherche : $(DELPHI)\Lib\Debug;.\Source\GUI;.\Source\Maths;.\Source\Modele;.\Source\DataBase;.\include;.\debug
sources de débogage :
$(DELPHI)Lib\Debug;.\Source\GUI;.\Source\Maths;.\Source\Modele;.\Source\DataBase;.\include;.\debug
************************
La compilation s'effectue sans problème.
En dehors de delphi, l'exécutable foncitonne parfaitement.
Sous deplhi, lorsque je clique sur exécuter, j'ai le message suivant :(une boîte de dialogue s'ouvre)
Erreur système. Code : 2.
Le fichier spécifié est introuvable
furax13
Messages postés90Date d'inscriptionmardi 28 octobre 2003StatutMembreDernière intervention24 avril 2008 13 déc. 2004 à 09:50
L'exe est créé dans le répertoire bin. (c:\MonProjet\bin\appli.exe ainsi appli.map)
Le fichier .dpr est dans la racine (c:\MonProjet\appli.dpr)
Quand je fais construire le projet, tout se passe bien. L'exe est bien généré dans le répertoire bin.
Mais à l'exécution tjrs le même message d'erreur.
furax13
Messages postés90Date d'inscriptionmardi 28 octobre 2003StatutMembreDernière intervention24 avril 2008 13 déc. 2004 à 10:14
si j'ouvre le projet, et que je lance tout de suite l'exécution sous Delphi, cela marche.
Si j'ouvre un fichier .pas lié à un .dfm et stocké dans le répertoire .\GUI, puis je demande l'exécution, j'ai le message d'errreur.
J'ai mis un point d'arrêt au niveau de Application.Initialize;
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 13 déc. 2004 à 10:18
Alors essaye en fesant "Executer" puis "pas a pas" si ca ne marche pas et que tu as l'erreur de suite fais nous un copier coller du .dpr pour voir si on trouve quelque chose.
furax13
Messages postés90Date d'inscriptionmardi 28 octobre 2003StatutMembreDernière intervention24 avril 2008 13 déc. 2004 à 10:35
Je n'accède même pas au mode pas à pas.
Ci-joint le fichier projet :
program Simulateur;
uses
Forms,
Unit_simul in 'Source\GUI\Unit_simul.pas' {Form1},
Ecran_rec in 'Source\GUI\ecran_rec.pas' {Creation},
validite_bob in 'Source\GUI\validite_bob.pas' {SecondForm},
aide_ecran_geo in 'Source\GUI\aide_ecran_geo.pas' {SecondForm2},
aide_ecran_donnees in 'Source\GUI\aide_ecran_donnees.pas' {SecondForm3},
print in 'Source\GUI\print.pas' {Impress},
BAF_pilot0 in 'Source\GUI\BAF_pilot0.pas' {Pilot},
Archivage_rec in 'Source\GUI\Archivage_rec.pas' {Archivage},
Baf_visu in 'Source\GUI\Baf_visu.pas' {Visu},
PasswordBOX in 'Source\GUI\PasswordBOX.pas',
baf_cf1 in 'Source\Modele\baf_cf1.pas',
baf_cn1 in 'Source\Modele\baf_cn1.pas',
baf_cr21 in 'Source\Modele\baf_cr21.pas',
baf_eq1 in 'Source\Modele\baf_eq1.pas',
baf_ex1 in 'Source\Modele\baf_ex1.pas',
baf_ext1 in 'Source\Modele\baf_ext1.pas',
baf_gl1 in 'Source\Modele\baf_gl1.pas',
baf_in1 in 'Source\Modele\baf_in1.pas',
baf_it1 in 'Source\Modele\baf_it1.pas',
baf_ld1 in 'Source\Modele\baf_ld1.pas',
baf_mn1 in 'Source\Modele\Baf_mn1.pas',
baf_opt1 in 'Source\Modele\Baf_opt1.pas',
baf_pr1 in 'Source\Modele\baf_pr1.pas',
baf_riv1 in 'Source\Modele\baf_riv1.pas',
baf_tb1 in 'Source\Modele\Baf_tb1.pas',
baf_vd1 in 'Source\Modele\baf_vd1.pas',
cre2_gl1 in 'Source\Modele\cre2_gl1.pas',
off_gl1 in 'Source\Modele\off_gl1.pas',
Resimul in 'Source\Modele\Resimul.pas',
DB1 in 'Source\DataBase\DB1.pas',
baf_an1 in 'Source\DataBase\baf_an1.pas',
CreaDat in 'Source\DataBase\CreaDat.pas',
matrice in 'Source\Maths\matrice.pas',
MathMC in 'Source\Maths\MathMC.pas';
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 13 déc. 2004 à 10:41
Je suis désolé mais je ne vois vraiment pas d'ou cela peut provenir ???
Et je dois t'avouer que sans la totalité du codes sources je ne peux pas grand chose pour toi.
Si tu veux je peux te donner mon adresse email pour que tu m'envois tes sources et je jetterai un coup d'oeil. Mais je comprends que pour une question de confiance et de confidentilité tu ne veuilles pas. Mais c'est tout ce que je peux te proposer.
furax13
Messages postés90Date d'inscriptionmardi 28 octobre 2003StatutMembreDernière intervention24 avril 2008 13 déc. 2004 à 10:50
J'ai une piste qui peut peut-être éclairer quelqu'un.
J'ouvre mon projet et j'exécute : tout est OK.
Je fais ensuite ouvrir, fichier et je vais dans le répertoire source puis Gui puis je sélectionne un fichier .pas associé à un .dfm.
Si je lance la compilation puis l'exécution, j'ai le message d'erreur.
Si je refais fichier, ouvrir et que j'ouvre un fichier qui se trouve au niveau de la racine du projet puis je lance compilaiton puis l'exécution, cela marche.
J'ai l'impression que lors de l'exécution, il se base sur le path du dernier fichier ouvert.
De plus, comme la plupart des chemins de mon appli sont en relatif (./Source/Gui,...) en non en absolu, le problème vient peut-être de là.
furax13
Messages postés90Date d'inscriptionmardi 28 octobre 2003StatutMembreDernière intervention24 avril 2008 13 déc. 2004 à 12:11
De plus, si je lance l'exécutable et si je mets des points d'arrêt dans l'application, je ne m'arrête jamais.
J'ai l'impression que le mode debug n'existe pas !!
Dans le menu exécuter, tout est grisé (mode pas à pas,...)
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 13 déc. 2004 à 12:42
Si tu lances l'executable directement depuis l'explorateur par exemple c'est normal que l'application ne s'arrete pas. Si tu veux la lancée en debugage tu dois la lancer depuis delphi.
Effectivement c'est bizarre qu'une fois ton projet ouvert que tout soit grisée dans la menu executer. Comment ouvre tu ton projet? Tu double click bien sur le .dpr?
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 14 déc. 2004 à 09:26
Hello,
Effectivement je viens de télécharger le source de nono40 et je n'ai pas de souci pour le compilé.
Tous ce que je peux te proposer car là je ne vois pas d'ou ca peut venir et bien ca serait de m'envoyer par email à cette adresse jean-marc.pires@fr.abb.com les impressions écrans des onglets de la boite à options de delphi afin de voir les différences entre ta config et la mienne.