Das Deutsche Casio-Taschenrechner Forum wurde zum 31.12.2013 geschlossen und kann weiterhin als Nachschlagewerk verwendet werden.
Wer mehr erfahren möchte: Ein sehr guter Beitrag von Elias

Bfile_ReadFile-Problem

Hilfe beim Programmieren mit dem fx-9860G SDK.

Bfile_ReadFile-Problem

Beitragvon Paul94 » Do 16. Dez 2010, 18:06

Paul94
 
Beiträge: 219
Registriert: Do 14. Mai 2009, 06:50
Taschenrechner:

Re: Bfile_ReadFile-Problem

Beitragvon SimonLothar » Fr 17. Dez 2010, 09:46

Das Problem liegt offensichtlich bei Bfile_GetFileSize.

Bfile_GetFileSize gibt im Falle des main memories den physikalisch reservierten Bereich zurück.
Der unterscheidet sich von der logischen Dateigröße, die wieder für Bfile_ReadFile wichtig ist.
Du hast schon gemerkt, dass z. B. Bfile_CreateMainMemory immer einen Bereich von 24 Byte reserviert, obwohl die Datei logisch nur eine Größe von 4 hat!

Bfile_ReadFile hat damit ein Problem. Du holst mit Bfile_GetFileSize die physiklaische "Dateigröße" und versuchst dann mit Bfile_ReadFile über das logische Dateiende hinaus zu lesen.

Ich würd mal sagen: das ist ein Bug von Bfile_GetFileSize.

Ich meine, es gibt ein SysCall, um auch die logische Dateigöße im main memory zu ermitteln. Habe hier jetzt nicht alle Mittel, das genau zu beantworten. Heute Nachmittag schau ich mal nach.
Du kannst Dich natürlich auch von diesen Tücken unabhängig machen und die logische Dateigröße in das erste "int" Deiner Datei schreiben.

Achtung, noch ne Falle!

Die Sequenz

Bfile_CreateMainMemory
Bfile_OpenMainMemory
Bfile_WriteFile( fileHandle, buffer, size )
Bfile_ReadFile( fileHandle, buffer, size, 0 )

arbeitet nicht wie man denkt.

Bfile_ReadFile liest in diesem Fall nicht ab der Anfangsposition, sondern versucht da weiterzulesen, wo Bfile_WriteFile aufgehört hat zu schreiben! Das gibt wieder -2. Auch ein Bug, denn der vierte Parameter von Bfile_ReadFile funktioniert hier nicht wie dokumentiert.
Zwischen Bfile_WriteFile und Bfile_ReadFile muss man die Datei schließen und wieder öffnen.
SimonLothar
 
Beiträge: 228
Registriert: Mi 27. Mai 2009, 10:51
Taschenrechner:

Re: Bfile_ReadFile-Problem

Beitragvon Paul94 » Fr 17. Dez 2010, 14:54

Paul94
 
Beiträge: 219
Registriert: Do 14. Mai 2009, 06:50
Taschenrechner:

Re: Bfile_ReadFile-Problem

Beitragvon SimonLothar » Fr 17. Dez 2010, 18:13

SimonLothar
 
Beiträge: 228
Registriert: Mi 27. Mai 2009, 10:51
Taschenrechner:


Zurück zu fx-9860G SDK (Alle fx-9860G Modelle)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste