extrait du code :j'exécute le prog. en mode normal (F9), l'exécution s'arrete sur le 1er point d'arret : jusque là rien de bizarre. Ensuite 2 cas possibles...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 procedure TfrmScan.iLecteurValidate(Sender: TObject; var Line: String; var sAction: TValidateAction); begin sAction := ConvertLine(Line); if sAction <> vaOk Then With TfrmCorrection.Create(Self) do // 1er point d'arret try // 2ème point d'arret Self.Hide; eCorrection.Text := line; ViewImege(iLecteur.msFJpgImage); if ShowModal=mrOK then begin Line := eCorrection.text; sAction := vaCorrected end else begin sAction := vaDELETED; Inc(nbALire) end; finally free; Self.Show end end;
1- si je continue en mode F9 j'ai immédiatement la fenetre d'erreur suivante : le projet a provoqué une classe d'exception EInvalidOperation avec le message 'le canevas ne permet pas de dessiner' (etc...)
2- si je continue en mode pas-à-pas (F8 ) , l'exécution passe au 2ème point d'arret puis je poursuit en mode F9 sans problème : la fenetre TfrmCorrection s'affiche (etc...)
>> mon but était de faire du pas à pas pour débogger le prog. mais je ne comprend pas la différence de comportement je ne vois pas comment je peux corriger l'erreur ! y aurait-il une explication ?
Partager