Fehler bei ReadLn(F,xx)

FAT16_32

wom
 
Avatar
 
Subject:

Fehler bei ReadLn(F,xx)

 · 
Posted: 14.05.2013 - 21:07  ·  #1
Hallo,

ich bekomme immer einen Fehler mit dem Programmteil. Kann aber nichts finden woran es liegen könnte, oder habe ich was übersehen?
Code

...
Import SysTick, WatchDog, ModBus, I2Cport, SerPort1, SerPort2;
Import TWInet,FAT16_32;
Import RTclock, FlashWrite;
Import BeepPort;

From System Import LongWord, Float, LongInt, Processes;
From ModBus import {MOD_Radio};


Define
      ProcClock      = 16000000;       {Hertz}
      SysTick        = 10,Timer2;                {msec}
      StackSize      = $0040, iData;
      FrameSize      = $0100, iData;
      WatchDog       = msec2000;                       {2048msec}
      Scheduler      = iData;

      FAT16           = MMC_SPI, IData;
      F16_MMCspeed    = standard;       // standard, slow, fast
      F16_FileHandles = 2;
      F16_DirLevels   = 2;
      F16_StrLen      = 80;
...
(*------------------------------------------------------------------*)
(*                                                                  *)
(*------------------------------------------------------------------*)
Function MMC_LoadSim:Boolean;
Var
   F : File Of Text;
   ASCII : String[32];
Begin
    Return(False);
    if F16_FileAssign(F, '', 'VBSim.csv') then
      If F16_FileReset (F) Then
        while not F16_EndOfFile (F) do
          ReadLn (F,ASCII);   // error: fuktion or string or Byte expected
        EndWhile;
        BeepSiren(0, 3);
//        WriteLn(SerOut1,ASCII);
        Return(F16_FileClose(F));
      Else
        Return(False);
      EndIf;
    Else
      Return(False);
    endif;
End;


wom
Gunter
Administrator
Avatar
Gender:
Location: Frankfurt Main / Germany
Posts: 1697
Registered: 02 / 2003
Subject:

Re: Fehler bei ReadLn(F,xx)

 · 
Posted: 14.05.2013 - 23:57  ·  #2
Hi wom,

ob es ein Bug ist und eigentlich funktionieren müsste, kann ich nicht sagen.
Hättest Du ein komplettes Beispiel gepostet würde ich mal selber probieren:
ich würde die Variablen testweise global definieren und evtl. auch für die
Definition von ASCII eine Typevereinbarung Type tString_32: String[32] benutzen.
Das sind häufig kritische Themen, die man mal schnell testen kann.

Gruß
Gunter
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: Fehler bei ReadLn(F,xx)

 · 
Posted: 15.05.2013 - 20:34  ·  #3
Hallo wom,

die Definition
Code
   F : File Of Text;

muss global sein. Eine lokale Variable macht bei File Handles auch wenig Sinn.

rolf
wom
 
Avatar
 
Subject:

Re: Fehler bei ReadLn(F,xx)

 · 
Posted: 16.05.2013 - 17:16  ·  #4
Hallo Rolf,

habe ich auch schon gemacht, bringt aber nichts. Die Funktion WriteLn(f,ASCII) macht hier kein Problem. Nur die Funktion ReadLn(f,ASCII). Das ganze lässt sich nicht compilieren.

Gruß
Wom

im Anhang ist das Programm.
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: Fehler bei ReadLn(F,xx)

 · 
Posted: 16.05.2013 - 17:51  ·  #5
Hallo wom,

sorry, Ihre Funktion tut bei mir wenn das File Handle global ist.

rolf
wom
 
Avatar
 
Subject:

Re: Fehler bei ReadLn(F,xx)

 · 
Posted: 21.05.2013 - 11:12  ·  #6
Hallo Rolf,

anscheinend geht es damit.

danke für die Info.

Fruß
Wom
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 14 · Cache Hits: 14   104   118 · Page-Gen-Time: 0.024416s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI