Point d'arret [Résolu]

Signaler
Messages postés
133
Date d'inscription
mercredi 4 janvier 2006
Statut
Membre
Dernière intervention
7 septembre 2010
-
Messages postés
133
Date d'inscription
mercredi 4 janvier 2006
Statut
Membre
Dernière intervention
7 septembre 2010
-
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

12 réponses

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
Salut,

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

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é ...
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
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 ?
Messages postés
133
Date d'inscription
mercredi 4 janvier 2006
Statut
Membre
Dernière intervention
7 septembre 2010

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 !!!!!!!!!
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
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.
Messages postés
133
Date d'inscription
mercredi 4 janvier 2006
Statut
Membre
Dernière intervention
7 septembre 2010

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.
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
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.
Messages postés
133
Date d'inscription
mercredi 4 janvier 2006
Statut
Membre
Dernière intervention
7 septembre 2010

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.
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
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
Messages postés
133
Date d'inscription
mercredi 4 janvier 2006
Statut
Membre
Dernière intervention
7 septembre 2010

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 ....
Messages postés
133
Date d'inscription
mercredi 4 janvier 2006
Statut
Membre
Dernière intervention
7 septembre 2010

Merci

Mais depuis j'ai recopié toutes mes unit et refaites dans un nouveau projet. Fastidieux mais le probleme a été réglé.
Messages postés
1
Date d'inscription
dimanche 12 septembre 2004
Statut
Membre
Dernière intervention
7 septembre 2010

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