[fpc-pascal] IDE blows up itself

Arjan van Dijk Arjan.van.Dijk at rivm.nl
Thu Jul 12 17:10:27 CEST 2007


Hi!

I had problems debugging my program under the last official IDE/Freepascal
for Windows,
so I just installed the release candidate that is bound to become official
in 2 months.
My problem still stands: during my debug session the whole IDE simply
disappears!
I narrowed down the problem to just 1 page of code, which I provide below
(and an
ASCII datafile, which I don't include here, but which you can get via
e-mail).
I had a break on the call "ProcessOneMonth(Toa,Roa,Bool1);" in the main
program.
Trying to step into this procedure with F7 triggers the problem.
When I just run the program without stepping, there is no problem!

What can be the cause/solution?
Anyone interested in the datafile of 171 K is welcome to ask for it!

Regards,

Arjan








PROGRAM BlowUpIDE;
TYPE
  Float = DOUBLE;
  GridType = RECORD
               NGridX,NGridY : WORD;
               XMin,XMax,YMin,YMax : Float;
               Values : ARRAY[0..400,0..200] OF Float;
             END;
VAR
  Toa,Roa : GridType;
  Bool1 : BOOLEAN;

PROCEDURE ProcessOneMonth(ToaTable,Roa:GridType;VAR Bool1:BOOLEAN);
BEGIN
  Bool1 := FALSE;
END;

PROCEDURE ReadToa(VAR Toa,Roa : GridType);
VAR
  ToaFile : TEXT;
  Ch : CHAR;
  i,j : INTEGER;
  HeadLine : STRING;
  Dum : Float;
BEGIN
  ASSIGN(ToaFile,'thetoa.dat');
  RESET(ToaFile);
  READLN(ToaFile);
  WITH Toa DO
  BEGIN
    YMin := 0;
    NGridY := 90;
    YMax := 90;

    NGridX := 0;
    XMin := 60;
    XMax := 500;

    FOR j := 6 TO 50 DO
    BEGIN
      IF (j>6) THEN INC(NGridX);
      READ(ToaFile,Dum);
      FOR i := 0 TO NGridY DO READ(ToaFile,Values[NGridX,i]);
      READ(ToaFile,Dum);
      FOR i := 0 TO NGridY DO READ(ToaFile,Roa.Values[NGridX,i]);
      READLN(ToaFile);
    END;
  END;
  CLOSE(ToaFile);
  WITH Toa DO
  BEGIN
    Roa.NGridX := NGridX;
    Roa.NGridY := NGridY;
    Roa.XMin := XMin;
    Roa.XMax := XMax;
    Roa.YMin := YMin;
    Roa.YMax := YMax;
  END;
END;

BEGIN
  ReadToa(Toa,Roa);
  ProcessOneMonth(Toa,Roa,Bool1);
END.
____________________________________________________________________________

DISCLAIMER:  http://www.rivm.nl/disclaimer.htm




More information about the fpc-pascal mailing list