BcBinaerDocument:: SetAt und SetAtGrow

Die Routinen schreiben Daten in ein Dokument.
Sollen Daten über das Dateiende hinaus geschrieben werten, so werden bei SetAt die Daten abgeschnitten, bei SetAtGrow die Dateilänge vergrößert.

Aufruf:

BOOL SetAt

(DWORD dwOffset, DWORD &dwLaenge, void* lpBuffer);

BOOL SetAtGrow

(DWORD dwOffset, DWORD &dwLaenge, void* lpBuffer);

Parameter:

dwOffset   Offset innerhalb der Dokumenten-Datei, wohin die Daten geschrieben werden sollen.
dwLaenge   Länge der Daten.
Geht bei SetAt der Bereich über das Dateiende hinaus, so wird bis zum Dateiende geschrieben und in diesem Parameter die tatsächlich geschriebene Länge zurückgegeben.
lpBuffer   Puffer, in dem die Daten stehen.

Ergebnis:

TRUE   Es wurden Daten geschrieben.
FALSE   Fehler in Aufrufparametern.

Bemerkungen

Die Routine SetAtGrow sollte nicht für kontinuiertliches Schreiben verwendet werden. Da bei jedem Aufruf ein neuer Speicherbereich allokiert wird, führt er zu Stückelung der Puffer. Besser ist, die Dateilänge mit SetLength auf einmal hochzusetzen.
Die Routinen veranlassen keine Aktualisierung der Fenster, da ja sofort noch weitere Aufrufe folgen könnten (CPU-Belastung). Wenn Sie eine Aktualisierung wünschen, müssen Sie den Aufruf UpdateAllViews(NULL) abgeben.