Version 6.0
DOCUMENT TO BLOB (Dokument; Blob{; *})
Parameter | Typ | Beschreibung | |
Dokument | String | Name des Dokuments | |
Blob | BLOB | BLOB Feld oder Variable für das Dokument | |
Inhalt des Dokuments | |||
* | * | Nur auf Macintosh: | |
Mit * wird das Ressource Fork | |||
geladen, sonst das Data Fork |
Beschreibung
Der Befehl DOCUMENT TO BLOB lädt den gesamten Inhalt von Dokument in Blob. Sie müssen den Namen eines bestehenden Dokuments übergeben, das noch nicht geöffnet ist, da sonst ein Fehler generiert wird. Verwenden Sie die Funktion Open document und die Prozessvariable Dokument, kann der Benutzer das Dokument wählen, das in das BLOB geladen werden soll (siehe Beispiel).
Hinweis zu Macintosh: Macintosh Dokumente können aus zwei Forks bestehen: Data Fork und Ressource Fork. Der Befehl DOCUMENT TO BLOB lädt standardmäßig das Data Fork des Dokuments. Wollen Sie dagegen das Ressource Fork des Dokuments laden, übergeben Sie den optionalen Parameter *. Dieser Parameter wird unter Windows ignoriert. Beachten Sie, dass die 4D Umgebung unter Windows die Entsprechung des MacOS Ressource Fork zur Verfügung stellt. Ist zum Beispiel das Data Fork einer 4D Datenbank in einer Datei mit der Endung .4DB gespeichert, wird das Ressource Fork in einer gleichnamigen Datei mit der Endung .RSR gespeichert. Erstellen Sie unter Windows eine 4D Anwendung mit Data Fork und Ressource Fork, die in BLOBs gespeichert sind, müssen Sie lediglich auf die Datei mit dem gewünschten Fork zugreifen.
Beispiel
Sie schreiben ein Informationsystem, mit dem Sie Dokumente schnell speichern bzw. wieder finden können. Im Eingabeformular legen Sie eine Schaltfläche an, mit der Sie ein Dokument in ein BLOB Feld laden können. Die dazugehörige Methode lautet:
$vhDocRef:=Open document("") ` Wähle das gewünschte Dokument aus If (OK=1) ` Wurde ein Dokument ausgewählt CLOSE DOCUMENT($vhDocRef) ` Das Dokument muss nicht länger offen bleiben DOCUMENT TO BLOB (Document;[YourTable]YourBLOBField) ` Lade das Dokument If (OK=0) ` Verwalte Fehler End if End if
Referenz
BLOB TO DOCUMENT, Open document.
Systemvariablen
OK wird auf 1 gesetzt, wenn das Dokument korrekt geladen wurde, andernfalls auf 0. Es wird ein Fehler generiert.
Fehler verwalten
Versuchen Sie ein Dokument in ein BLOB zu laden, das nicht vorhanden ist oder bereits von einem anderen Prozess bzw. einer anderen Anwendung geöffnet wurde, erhalten Sie einen entsprechenden OS Systemfehler.
Ein Eingabe-/Ausgabefehler kann auftreten, wenn das Dokument gesperrt ist, auf einem gesperrten Volume liegt oder beim Lesen des Dokuments ein Problem auftritt.
Reicht der Speicher nicht aus, um das Dokument zu laden, wird ein Fehler -108 generiert.
Sie können den Fehler in allen Fällen mit der Unterbrechungsmethode ON ERR CALL ausfindig machen.