Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
EXPAND BLOB
|
EXPAND BLOB ( blob ) | ||||||||
Paramètre | Type | Description | ||||||
blob | BLOB |
![]() |
BLOB à décompresser | |||||
EXPAND BLOB décompresse le BLOB blob préalablement compressé à l'aide de la commande COMPRESS BLOB.
Après l'appel de la commande, la variable système OK prend la valeur 1 si le BLOB a été correctement décompressé.
Si la décompression n'a pas pu être effectuée, OK prend la valeur 0.
Dans ce cas, si l'erreur provient du fait que la mémoire disponible est insuffisante pour effectuer l'opération, aucune erreur n'est générée et la méthode poursuit son exécution.
En revanche, si l'erreur est causée par un problème plus important (le BLOB n'avait pas été compressé ou le BLOB est endommagé), l'erreur -10600 est générée. Cette erreur peut être interceptée à l'aide d'une méthode installée par la commande ON ERR CALL.
De manière générale, il est préférable d'appeler la commande BLOB PROPERTIES pour savoir si le BLOB a été compressé avant d'exécuter EXPAND BLOB.
L'exemple suivant teste si le BLOB vxMonBlob est compressé et, si oui, le décompresse :
BLOB PROPERTIES(vxMonBlob;$vlCompressé;$vlTailleDécompressée;$vlTailleCourante)
If($vlCompressé#Is not compressed)
EXPAND BLOB(vxMonBlob)
End if
L'exemple suivant vous permet de sélectionner un document et puis de le décompresser s'il était compressé :
$vhDocRef :=Open document("")
If(OK=1)
CLOSE DOCUMENT($vhDocRef)
DOCUMENT TO BLOB(Document;vxBlob)
If(OK=1)
BLOB PROPERTIES(vxBlob;$vlCompressé;$vlTailleDécompressée;$vlTailleCourante)
If($vlCompressé#Is not compressed)
EXPAND BLOB(vxBlob)
If(OK=1)
BLOB TO DOCUMENT(Document;vxBlob)
End if
End if
End if
End if
La variable OK prend la valeur 1 si le BLOB a été correctement décompressé, sinon elle prend la valeur 0.
Produit : 4D
Thème : BLOB
Numéro :
535
Modifié : 4D v6.5.3
Compression, Expansion
4D - Langage ( 4D v20 R7)