MemUncompress
obj -> MemUncompress([int1[, int2[, handle3[, int4]]]]) : int
Speicherbereich dekomprimieren
Details
- obj: Quelle / Ziel ( Memory -Objekt)
- int1: Quellposition (optional)
- int2: Quelllänge (optional)
- handle3: Ziel ( Memory -Objekt, optional)
- int4: Zielposition (optional)
- Resultat:
intFehlerwert - Siehe: Verwandte Befehle ,
MemCompress (),FsiFileUncompress ()
Dieser Befehl dekomprimiert den Inhalt des Memory-Objektes (obj).
Im Parameter (int1) kann die Quellposition angegeben werden. Ist dieser Wert nicht angegeben oder 0, werden die Daten ab Beginn des Memory -Objektes dekomprimiert.
Der Parameter (int2) gibt die zu dekomprimierende Länge an. Ist dieser Wert nicht angegeben, 0 oder _MemDataLen wird der restliche Inhalt (nach der Quellposition) des Memory -Objektes dekomprimiert.
Optional kann im Parameter (handle3) ein Ziel-Memory-Objekt angegeben werden. Ist dieses nicht angegeben oder ist es identisch mit dem Quellobjekt (obj), wird in das Quellobjekt geschrieben. Hierbei werden alle Daten verworfen, die hinter dem letzten dekomprimierten Zeichen vorhanden waren.
Zusätzlich kann eine Zielposition (int4) angegeben werden, wenn nicht an den Anfang des Ziel-Objektes geschrieben werden soll. Alle vorhandenen Daten ab der Position werden überschrieben.
Beispiele
// Inhalt des Memory-Objektes tMemSrc in neues Memory-Objekt dekomprimieren
tMemSrc->MemUncompress(0, 0, tMemDst);
// Inhalt des Memory-Objektes im gleichen Memory-Objekt dekomprimieren
tMem->MemUncompress();
Fehlerwerte
Folgende Fehlerwerte können von der Funktion zurückgegeben werden:
_ErrOk: Kein Fehler aufgetreten._ErrData: Komprimierte Daten sind inkonsistent oder Quellobjekt (obj) ist leer._ErrGeneric: Interner Fehler aufgetreten.
Mögliche Laufzeitfehler:
_ErrHdlInvalid: Einer der übergeben Deskriptoren (obj) oder (handle3) ist ungültig._ErrMemExhausted: Nicht genug Speicher vorhanden._ErrValueRange: Eine der Längen- oder Positionsangaben (int1), (int2) oder (int4) ist ungültig.