Point d'arret [Résolu]

Messages postés
139
Date d'inscription
mercredi 4 janvier 2006
Dernière intervention
7 septembre 2010
- - Dernière réponse : yannba
Messages postés
139
Date d'inscription
mercredi 4 janvier 2006
Dernière intervention
7 septembre 2010
- 7 sept. 2010 à 09:28
Bonjour,

J'aimerai comprendre le principe du point d'arret:

Par exemple :
procedure TFormMenu.SpeedButtonPromotionClick(Sender: TObject);
begin
Hide;
FormPromotion.ShowModal;
FormMenu.visible:=true;
end;

Je peux mettre un point d'arret à chaque ligne, j'aurai toujours un rond rouge avec une croix blanche à l'interieur et la ligne va etre surlignée en vert.
Pas pratique lorsque je veux faire une execution pas à pas.

Merci
Afficher la suite 

Votre réponse

12 réponses

Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
0
Merci
Salut,

Si c'est les couleurs qui te gènes, tu peux les modifier.
Delphi 6 ->
Outils -> Options de l'éditeur -> Onglet Couleurs.
Commenter la réponse de cs_rt15
Messages postés
139
Date d'inscription
mercredi 4 janvier 2006
Dernière intervention
7 septembre 2010
0
Merci
Merci,

Sauf que c'est pas la couleur qui me pose probleme, c'est que je peux mettre des points d'arret partout dans mon programme, aucun ne sera respecté ...
Commenter la réponse de yannba
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
0
Merci
Aaaaah.

Bin cela signifie que ce bout de code n'est pas compilé car Delphi considère qu'il ne sera jamais exécuté.

Si tu mets un ShowMessage dans ce code, tu ne la vois jamais, si ?
Commenter la réponse de cs_rt15
Messages postés
139
Date d'inscription
mercredi 4 janvier 2006
Dernière intervention
7 septembre 2010
0
Merci
J'ai essayé d'en mettre partout, le probleme est le meme. Il refuse toujours.
Si je clique dans la colonne de gauche ou si je fais executer / point d'arret / ajouter, pareil ...

J'ai essayé avec le pas à pas (F8), le pas à pas approfondi (F7), avec curseur (F4), rien, le programme s'execute normalement, sans jamais s'arreter.

Quelle galere ...
Vivement que je trouve la solution !!!!!!!!!
Commenter la réponse de yannba
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
0
Merci
Ce code est très probablement un code mort. Tu as essayé de mettre le ShowMessage comme je t'ai dit ? Cette procédure n'est certainement plus liées à son évènement. Supprime là et régénère là à partir des propriétés de ton SpeedButtonPromotion.
Commenter la réponse de cs_rt15
Messages postés
139
Date d'inscription
mercredi 4 janvier 2006
Dernière intervention
7 septembre 2010
0
Merci
Ce code est très probablement un code mort.
Mon pogramme fonctionne parfaitement, il fait ce que je lui demande sans aucun soucis.

Tu as essayé de mettre le ShowMessage comme je t'ai dit ? Cette procédure n'est certainement plus liées à son évènement. Supprime là et régénère là à partir des propriétés de ton SpeedButtonPromotion.
Comme je te disais, j'ai mis des ShowMessage partout dans mon programme, dans différentes procedures, sur d'autre form, c'est pareil.

Je pense que c'est mon Delphi qui buggue, je vais devoir le reinstaller, c'est pas normal ... Ca m'ennuie car quand je cree une nouvelle application, Delphi fonctionne bien.
Commenter la réponse de yannba
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
0
Merci
Arg !
Mes cachets ! Ou ai je mis mes cachets ?

Regarde :


Au miracle ! j'ai reproduit ton bug ! Mon Delphi est mort. Il faut que je le jette. Tu crois qu'une réinstallation pourrait corriger ?

Je dis pas que ton code entier est mort. Je pense juste que ta procédure et elle seule est comme la mienne : inatteignable. Donc non compilée. Donc impossible de mettre un point d'arrêt dedans. Pourquoi est elle inatteignable ? Car elle n'est plus liée à l'évènement qui est censé provoqué sont exécution. C'est que j'ai fait pour faire le screen ci-dessus. Tu as dû faire la même manip accidentellement. Mais tu peux facilement corriger ! Vire toute trace de cette procédure qui ne sert à rien et repart du début. Double clique sur l'évènement dans la fenêtre de propriété et réimplémente le code.
Commenter la réponse de cs_rt15
Messages postés
139
Date d'inscription
mercredi 4 janvier 2006
Dernière intervention
7 septembre 2010
0
Merci
Je suis admiratif que t'arrives à faire ca et a regler le probleme. Car ca à l'air tellement evident ... mais pas pour moi.
J'ai pour la forme :
- sur la form1 mis un nouveau button :
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.show;
end;
- J'ai cree la Form2 :
J'ai mis un button :
unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type
TForm2 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;

var
Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
showmessage('gggg');
end;

end.

Donc là le code est censé etre propre sur la form2 - vu que je viens de la creer, mais non, sur Form1 et Form2, meme pobleme.
En tout cas, merci.
Commenter la réponse de yannba
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
0
Merci
En fait, on ne peut pas voir le problème seulement avec ce code. Le code de la Form est en fait divisé en deux. Une partie est dans le .pas que tu montres ci-dessus. L'autre partie est dans le .dfm.

Voici un exemple :

object Form1: TForm1
  Left = 692
  Top = 355
  Width = 676
  Height = 391
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 128
    Top = 160
    Width = 153
    Height = 49
    Caption = 'Button1'
    TabOrder = 0
    OnClick = Button1Click
  end
end


Ce code n'est habituellement jamais modifié à la main. Il est généré par Delphi à partir des informations entrées dans l'inspecteur d'objet.

C'est là qu'est défini la méthode à appeler en cas de clique sur le bouton.

->
OnClick = Button1Click
Commenter la réponse de cs_rt15
Messages postés
139
Date d'inscription
mercredi 4 janvier 2006
Dernière intervention
7 septembre 2010
0
Merci
OK, maintenant, j'ai compris ta manip et ta premiere explication.
Sauf que c'est là ou est le hic, c'est que le probleme est sur toutes mes procedures, sur tous mes boutons, combobox, ... et que les OnClick = Button1Click, par exemple, sont bien presents. La preuve est que lorsque je clique sur le bouton, tout s'execute normalement.
C'est à rien y comprendre ....
Commenter la réponse de yannba
Messages postés
139
Date d'inscription
mercredi 4 janvier 2006
Dernière intervention
7 septembre 2010
0
Merci
Merci

Mais depuis j'ai recopié toutes mes unit et refaites dans un nouveau projet. Fastidieux mais le probleme a été réglé.
Commenter la réponse de yannba
Messages postés
1
Date d'inscription
dimanche 12 septembre 2004
Dernière intervention
7 septembre 2010
-2
Merci
Hello,

J'ai trouvé la solution au problème.
J'étais dans la même situation...

En fait c'est une option qui est liée au projet qui pose problème.
Dans mon cas, le problème était là pour un projet...pour mes autres projets...ras...

Solution:
Si on ouvre les 'OPTIONS' du projet (Projet, Options...), dans l'onglet 'COMPILATEUR' la case 'INFORMATIONS DE DEBOGAGE' doit être cochée.

Salutations,
Julien
Commenter la réponse de julienpetitloup

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.