Delphi - Debugger verzus JCL (to: Jan Fiala)
Majme takýto jednoduchý program:
[pas]unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
procedure ulozhodnotu(h: integer);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ulozhodnotu(h: integer);
begin
h := StrToInt(Edit1.Text); //skutočnosť
end;
procedure TForm1.FormActivate(Sender: TObject);
var
h: integer;
begin
ulozhodnotu(h); //debugger
end;
end.
[/pas]
Na prvý pohľad je jasné, že ak v Edit1 nebude celé číslo reprezentované vo vlastnosti Text, tak sa program zrúti. Debugger túto chybu vyhlási na označenom mieste a pri krokovaní nájdeme skutočné miesto chyby. Kde nájde chybu JCL? Ide o to, že som mal teraz podobný problém a takmer ma od jedu porazilo (nevedel som, kde to stále vidí chybu a hľadal som chybu v inom riadku než bola).
Nevim, jak ty, ale ja dostanu tohle:
a souhlasi presne i cislo radku
Predpokladam, ze jsi Exception dialog v projektu dal uplne na prvni misto v seznamu pouzitych unit...
Práveže nie, ja tam JCL ešte nemám. Ešte sa to len chystám začať používať, tak som chcel, aby ste vyskúšali, čo to robí v tomto prípade. Vyskúšam to teda aj ja. Dúfam, že budem vedieť ako na to, lebo som ešte nemal čas ani sa na to poriadne pozrieť, zatiaľ ďakujem. VYzerá to tak,ž e to nájde naozaj chybu tam, kde naozaj je. To len degugger pri normálnom spustení programu (bez JCL) vyhlási chybu v poslednom riadku FormActivate.
Tak som to nainštaloval a teraz neviem čo. Pridali sa mi aj dialógy vo File\New, ale ako to teraz v tom programe využiť?
Edit: Presnejšie povedané, ako to do toho programu dostať?
omg jednoduchy program :)
Čo tým chcš povedať? Nie v tomto programe som hľadal chybu, ale v druhom. Tento vznikol pre účely oboznámenia sa so "super" debuggerom v Delphi.
ale nic... len ze pre profikov je to jednoduchy priklad a pre lamy (ja) zlozity
Aha, tak chápem.