Delphi - Debugger verzus JCL (to: Jan Fiala)
Majme takýto jednoduchý program:
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.
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).