Le compilateur qui ne modifie pas le source [Résolu/Fermé]

Signaler
-
 Utilisateur anonyme -
Salut à tous,


J'ai constaté des problèmes récurrents avec Indy :


*Il ne modifie pas tjs l'executable lors de la compilation. Je
m'explique : par exemple vous modifier une fonction et quand vous
compilez la modification a lieu au niveau du .pas mais pas dans
l'executable.


*Un autre probleme est au niveau du mémo : si vous changez la proriété name, au niveau du memo il y a toujours écris "Memo1".


Avez vous déja rencontré ce genre de problemes et quelles solutions avez vous mis en place ?


Merci


@+

13 réponses

Messages postés
3819
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
2 novembre 2020
34
Salut Francky,

pour ton soucis de compilation , si tu veux être sur que l'exécutable soit réécrit il faut faire : Construire le Projet au lieu de Compiler le Projet

Pour le mémo ce qui reste écrit c'est dans les lignes du mémo, lors de la coception, il y a toujours écrit " MemoX" mais ça tu peux le changer dans l'inspecteur d'objet.

@+
Cirec
Messages postés
449
Date d'inscription
lundi 19 avril 2004
Statut
Membre
Dernière intervention
8 avril 2009
2
Par plus de sécurité, il faut aussi parfois virer l'exe et les dcu avant de construire le projet, ca me fait le coup aussi parfois, D7 est lunatique.
Messages postés
3819
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
2 novembre 2020
34
Oui c'est vrai, maintenant que tu le dis, j'ai également eu le même coup, une seule fois pour l'instant, et j'avais cherché pourquoi (sans réponse biensûr ) avant de supprimer tous les *.Dcu et l'exe et là ça fonctionnait à nouveau

c'est vrai, il y a une part de beug dans tout ça
mais bon ... si peut à côté des plaisirs qu'il nous procure  (je parle de Delphi au cas ou)

@+
Cirec
Messages postés
3819
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
2 novembre 2020
34
alors là non
c'est ce que je te disais au début
cette partie est initialisée lors de la création du composant TMémo c'est un TStrings (Lines) et en fonction du nombre de TMémo présents sur la fiche il initialisera les lignes avec Memo1 où Memo2

ensuite quand toi tu change son nom par l'inspecteur d'objet à ce moment là il ne touche plus au lignes du Memo (imagine tu écris un texte dans le memo en conception et tu change son nom ensuite tu perdrais tout ton texte. Voilà donc pourquoi.

j'espère avoir répondu cette fois

@+
Cirec
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
29
Que vois-je : Delphi lunatique, Delphi buggé ? lol
Mais qui ne l'est pas ?

Plus sérieusement, Francky, vérifies que les unités que tu modifies ne soient pas déjà présentes dans les chemins de recherche de ton projet. Pour cela, demande l'affichage du gestionnaire de projet et vérifie toutes les unités listées.

En tout état de cause, le compilateur ne modifie JA-MAIS les sources d'un programme...

May Delphi be with you !
<hr color="#008000" />
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.

Oh la boulette : je suis perturbé avec Indy en ce moment mdrrrrrrr.
J'ai constaté des problèmes récurrents avec Indy  à remplacer par J'ai constaté des problèmes récurrents avec Delphi . Elle est pas mal celle la lol

Pour le memo je me suis mal exprimé :


Sur ta form il y a le memo. Si tu changes dans la propriete name ,
"memo1" par "texte" par exemple , parfois dans ta form au niveau du
memo tu as écris texte et parfois ca reste memo1. C'est un probleme de
rafraichissement mais je ne sais pas d'ou ca vient. Alors effectivement
on peut faire la modif dans le code mais cette solution ne me convient
pas au niveau du principe.


Merci Cirec


@+
Messages postés
3819
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
2 novembre 2020
34
tu veux dire du genre

au départ tu as Memo1 : TMemo

Procedure TForm1.Memo1Click(Sender : TObject);

begin
  Memo1.Lines....
end;

et là tu change la propriété name en Texte et tu obtiens ceci

Texte : TMemo

Procedure TForm1.TexteClick(Sender : TObject);

begin
  Memo1.Lines....
end;

dans le code le Memo1 ne c'est pas changer en Texte

mais ça aussi c'est normal c'est à toi de faire un "Remplacer par ..."

où encore de prévoir le nom du composant avant d'écrir le code

sinon c'est valable pour tous les composants
seul le code généré est modifier ton code ne le sera jamais

@+
Cirec

Je me suis encore mal exprimé :


*Tu ouvres Delphi


*Tu déposes un memo sur ta form. Dans le memo tu as un texte qui est "memo1"


*Tu vas dans l'inspecteur d'objet apres avoir cliqué sur le memo. Tu
modifie la propriete name : initialement tu as "Memo1" et tu mets à la
place "MonMemo" par exemple.


=>Normalement dans le memo lui meme au lieu d'avoir le texte "memo1"
tu as "MonMemo" (comme quand tu changes la propritété Caption d'un
composant). Le changement est automatique normalement. Bien des fois ca
beug et tu as bien dans l'inspecteur d'objet "MonMemo" par contre au
niveau du texte dans le memo tu as pas 'MonMemo" mais tu as toujours
"memo1".

Merci à vous


@+

J'avais pas vu les  choses sous cette angle


Merci


@+
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
33
en meme temps ... on eviteras de retranscrire Guerre et Paix dans un memo en mode conception ... ^^

Merci à vous.