closed

Loginbox

Please enter your username and password into the following fields to log in.


  • Username:
  • Password:
  •  
  • Auto log in on every visit.


  •  

interner Assembler Error 178606 bei ReadLN()



pvs-deck offline
Schreiberling
Avatar
Gender: male
Location: GERMANY 
Age: 47
Posts: 936
Registered: 02 / 2009
Homepage Private message
Subject: interner Assembler Error 178606 bei ReadLN()  -  Posted: 29.11.2018 - 18:25   -  
Hallo rolf,

ich habe zum ersten mal ReadLn() mit der SD-Karte nutzen wollen, leider führt dies zum "interner Assembler Error 178606"

Compiler läuft durch, nur beim Make kommt der Fehler.

Code
// HilfeSystem
   DispHelpView   : Array[0..5] of string[40];
   HelpDirView     : TPathStr;
   Help_DateiView  : file of String[40]; // File of String für ReadLn
   HelpDatei_NameView : TFileName;


Code
// Help von SD Lesen
//
procedure Read_Help( iChange: integer);
var
 xFor, xstrNo, strNo : byte;
 HelpStrBuffer : string[40]; // für den ersten Test
 
begin

  if not bMMCok then    // Keine SD Card, erstelle Meldung
    DebugOut('ReadHelp 199');
     Return; // Funktion beenden
  endif;

  sdAktive();   // Timer für SD Anzeige auf LCD

   HelpDirView := 'hlp';
    // Dateiname erzeugen
    HelpDatei_NameView := 'h1.plp';


      F16_FileAssign(Help_DateiView, HelpDirView, HelpDatei_NameView);// Handle mit FileNamen verknüpfen
      if F16_FileExist(HelpDirView, HelpDatei_NameView,faAnyFile) then
        if not F16_FileReset(Help_DateiView) then               // vorhandene Datei öffnen
           DebugOut('ReadHelp 200');
           return;
        endif;
         DebugOut('201');

      else // File Exist
         DebugOut('ReadHelp 202');
           return;
      endif; // File Exist

       CLR_Help; //lösche Anzeige Speicher für LCD

        // hier bei ReadLn() kommt der Fehler...
        ReadLn(Help_DateiView,  HelpStrBuffer );  // zum Test nur eine Zeile lesen!
          DebugOut('Read Help: ' +HelpStrBuffer);
             
             // prüfe pb EOF (kommt später in die Schleife nach  jedem ReadLn()
              if F16_EndOfFile(Help_DateiView) then
                DebugOut('HELP Dateiennde');
                      if not F16_FileClose(Log_DateiView) then                         // File schließen
                          DebugOut('203');
                      endif; // CloseFile
                   return;
              endif;

       DebugOut('204');

      if not F16_FileClose(Log_DateiView) then                         // File schließen
        DebugOut('205');
      endif; // CloseFile

end Read_Help;

Wenn ich das ReadLn() ausklammere geht auch der Make.

Bis jetzt hatte ich noch nie ReadLn für meine SD-Card genutzt, aber es wäre hier sinnvoll.

Woher weiss der Compiler eigentlich das es ein Fat16 Zugriff ist?
Ich hatte so einen ähnlichen Fehler mal, als ich aus versehen "FileClose" statt "F16_FileClose", verwendet hatte.

Hast Du eine Idee oder muß ich ein Testprogramm zusammenstellen?

Thorsten
You must be logged in or your permissions are to low to see this Attachment(s).
---------------------------------------------------------
Nichts ist unmöglich in der Elektronik und der Software, die Grenzen
setzt nur das Budget, Zeit und der Entwickler! ( P V S - D E C K )
go down go up
rh offline
Administrator
Avatar
Gender: male
Location: GERMANY  Germany
Age:
Posts: 5378
Registered: 03 / 2002
Homepage Private message
Subject: Re: interner Assembler Error 178606 bei ReadLN()  -  Posted: 29.11.2018 - 19:35   -  
Hallo Thorsten,
der Compiler weiss dass aus einem File of String mit ReadLn gelesen werden soll.
Das erste Argument im ReadLn ist ja ein solches File.

Aber offensichtlich wurde die System Funktion "_FILEREAD_STR" aus irgendwelchen
Gründen nicht importiert.
Und ja, ein kleines und sehr abgespecktes Testprogramm wäre sehr hilfreich.

rolf
Cars don't buy cars -- Autos kaufen keine Autos.
Henry Ford
go down go up
pvs-deck offline
Schreiberling
Avatar
Gender: male
Location: GERMANY 
Age: 47
Posts: 936
Registered: 02 / 2009
Homepage Private message
Subject: Re: interner Assembler Error 178606 bei ReadLN()  -  Posted: 29.11.2018 - 21:10   -  
Hallo rolf,

Testprogramm ist per PM an Dich raus.

Thorsten
---------------------------------------------------------
Nichts ist unmöglich in der Elektronik und der Software, die Grenzen
setzt nur das Budget, Zeit und der Entwickler! ( P V S - D E C K )
go down go up
rh offline
Administrator
Avatar
Gender: male
Location: GERMANY  Germany
Age:
Posts: 5378
Registered: 03 / 2002
Homepage Private message
Subject: Re: interner Assembler Error 178606 bei ReadLN()  -  Posted: 29.11.2018 - 22:36   -  
Hallo Thorsten,
hier wurde das alte und sehr einfache Filesystem mit FAT16 vermengt!
Im Fat16/32 gibt es kein "File of string[]" sondern nur "File of Text".
Und so funzt es:
var
Help_Datei : file of Text;

rolf
Cars don't buy cars -- Autos kaufen keine Autos.
Henry Ford
go down go up
pvs-deck offline
Schreiberling
Avatar
Gender: male
Location: GERMANY 
Age: 47
Posts: 936
Registered: 02 / 2009
Homepage Private message
Subject: Re: interner Assembler Error 178606 bei ReadLN()  -  Posted: 01.12.2018 - 13:21   -  
Quote by rh

Hallo Thorsten,
hier wurde das alte und sehr einfache Filesystem mit FAT16 vermengt!
Im Fat16/32 gibt es kein "File of string[]" sondern nur "File of Text".
Und so funzt es:
var
Help_Datei : file of Text;

rolf


Danke rolf,

als ich im Handbuch geschaut habe, bin ich immer wieder bei "File of String" hängen geblieben ;-)

Kann man da evtl. einen klaren Compiler-Fehler ausgeben?

Habe aber das ReadLn durchgetestet, ist nicht praktikabel, für das durchscrollen über mehrere Seiten.
Ich habe mir gerade ein Windows-Programm erstellt (Delphi). Das mir meine Textdatei in eine Bin Datei mit festen Stringlängen abspeichert. So kann man schneller mit Seek auf die Zeilen zugreifen. Gerade beim hoch und runterscrollen auf dem kleinen Display 7 Zeilen Text ist das schneller.

Thorsten
---------------------------------------------------------
Nichts ist unmöglich in der Elektronik und der Software, die Grenzen
setzt nur das Budget, Zeit und der Entwickler! ( P V S - D E C K )
go down go up
 


Registered users in this topic
Currently no registered users in this section

Delete cookies of this forum  •  FAQ / Help  •  Team page  •  Imprint   |  Local time: 10.12.2018 - 19:03