Point d'arret

Résolu
yannba Messages postés 133 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 7 septembre 2010 - 28 févr. 2010 à 19:11
yannba Messages postés 133 Date d'inscription mercredi 4 janvier 2006 Statut Membre 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

12 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
6 mars 2010 à 08:24
Salut,

Si c'est les couleurs qui te gènes, tu peux les modifier.
Delphi 6 ->
Outils -> Options de l'éditeur -> Onglet Couleurs.
0
yannba Messages postés 133 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 7 septembre 2010
6 mars 2010 à 10:25
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é ...
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
6 mars 2010 à 12:09
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 ?
0
yannba Messages postés 133 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 7 septembre 2010
6 mars 2010 à 15:22
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 !!!!!!!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
6 mars 2010 à 17:00
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.
0
yannba Messages postés 133 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 7 septembre 2010
6 mars 2010 à 18:39
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.
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
6 mars 2010 à 19:22
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.
0
yannba Messages postés 133 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 7 septembre 2010
6 mars 2010 à 20:05
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.
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
7 mars 2010 à 14:30
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
0
yannba Messages postés 133 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 7 septembre 2010
7 mars 2010 à 15:42
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 ....
0
yannba Messages postés 133 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 7 septembre 2010
7 sept. 2010 à 09:28
Merci

Mais depuis j'ai recopié toutes mes unit et refaites dans un nouveau projet. Fastidieux mais le probleme a été réglé.
0
julienpetitloup Messages postés 1 Date d'inscription dimanche 12 septembre 2004 Statut Membre Dernière intervention 7 septembre 2010
7 sept. 2010 à 08:38
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
-2
Rejoignez-nous