Fehler in der iffw-Bibliothek beim Schreiben von Chunks

8

Wenn ich versuche, die EA iffw.c-Bibliothek zu verwenden, um eine IFF-Datei zu schreiben, Ich kann den Aufruf von StartWGroup () nicht umgehen. Es schlägt in IFFWriteBytes () fehl, da context- & gt; ckHdr.ckSize Null ist. Innerhalb von IFFWriteBytes () gibt es ein if (), das überprüft, dass (Größe)! = SzNotYetKnown. (szNotYetKnown ist eine Konstante.) Das Beispiel scheint anzuzeigen, dass es funktionieren sollte. aber ich kann nicht sehen wie. IFFWriteBytes () gibt CLIENT_ERROR zurück, weil nBytes 4 ist - Ich versuche, einen 32-Bit-Int. Zu speichern.

Mein fehlerhafter Code:

%Vor%

Der letzte Fehler, StartWGroup ().

IFF ist, wie XML, einfach genug, dass ich es ohne eine Bibliothek erzeugen könnte, aber es wäre schön, eine einmal gebräuchliche und gut getestete Bibliothek zu verwenden.

Frage geht nicht wirklich über Amiga, aber dieses Dateiformat war auf Amiga populär. Übrigens, wusstest du DjVU , RMFF , AIFF, RIFF und viele andere Formate sind IFF oder leichte Variationen ?

Update : einfach zu lesende IFF-Beschreibung .

    
Prof. Falken 19.01.2012, 00:06
quelle

1 Antwort

2

Ich behaupte nicht, etwas über diese spezielle Bibliothek zu wissen, aber wenn ich mir die Funktionsargumente anschaue, haben Sie möglicherweise die falsche Größe in StartWGroup eingegeben.

Von iifw.cpp: IFFP StartWGroup( GroupContext* parent, int groupType,int groupSize,int subtype, GroupContext * newtmp) ist der dritte Argumentname von StartWGroup groupSize , was die Größe der Gruppe LIST angibt und nicht die Größe der Untergruppe sizeof(ID_NATAMI_FLASH) .

    
snugglo 12.04.2012, 07:48
quelle

Tags und Links