L'importation du document 4D Write Pro a échoué

Bonjour,

Je tente de sauvegarder une zone write dans un champs objet d’une table ex :

$wp:=wp nouveau

[document]mon_objet:=$wp

Le stockage fonctionne, il y a bien un objet dedans, mais pour recharger les document :

$wp:=wp nouveau([document]mon_objet)

cela me donne systématiquement une erreur : “L’imporation du document 4D Write Pro a échoué.”

Merci d’avance pour vos conseils.

Bonjour,

Comme avec tous les objets dans 4D, on manipule des références, donc déjà, les deux 1ere lignes peuvent etre réduites à une seule :

$wp:=wp nouveau
[document]mon_objet:=$wp

-> [document]mon_objet:= wp nouveau // Cette commande instancie un doc 4D Write Pro (sinon ça reste un simple objet)

$wp:=wp nouveau([document]mon_objet)
cela me donne systématiquement une erreur : “L’imporation du document 4D Write Pro a échoué.”

C’est normal. WP Nouveau crée un nouvel objet ou importe un blob (4D Write)

-> $wp:=[document]mon_objet

(et encore une fois , $wp est une référence à l’objet, rien de plus.

Si vous écrivez :
$wp1:=[document]mon_objet
$wp2:=[document]mon_objet
$wp3:=[document]mon_objet
$wp4:=[document]mon_objet
$wp5:=[document]mon_objet

vous aurez CINQ références à un MEME objet. (une suffit en général :slight_smile:

Cordialement,
Roland Lannuzel

Bonjour,

Merci pour vos réponse.

Concernant WP Nouveau la documentation précise que l’on peut utiliser une référence à un objet :
Objet : Objet plage ou référence d’élément 4D Write Pro, c’est pour ca que je le testait ainsi.

Pour la notion de référence, ok je comprend.

Mais du coup comment sauvegarder dans un champ objet une instance créé en mémoire ?

Pour le moment je stocke en dans un champ BLOB mais je trouve ca dommage.

Pour stocker dans mon champ objet, il faut faire comme suit ?

$wp:=wp nouveau

[document]mon_objet:=wp nouveau($wp)

oui, la doc est juste

Objet plage = une plage d’un autre document
ou une référence (de table, d’image…)

(-> pas un document complet)

<<Mais du coup comment sauvegarder dans un champ objet une instance créé en mémoire ?>>
<>

J’avoue ne pas comprendre; une zone 4DWP c’est un objet, elle peut (doit-etre) stockée dans un champ objet, tout simplement.

Si vous n’avez pas d’interface faites ça simplement :
[document]mon_objet:=wp nouveau($wp)
et éventuellement $wp:=[document]mon_objet par la suite (c’est plus court à écrire “$wp”) pour la manipuler.

Si vous avez une interface, écrivez “[document]mon_objet” comme valeur d’expression dans la liste des propriétés…de la zone 4DWritePro

[]29297645;“Your comment here…”[/]

Roland

En fait je n’ai pas et ne veux pas d’interface d’édition pour le moment.

Nous allons stocker potentiellement dans des table différentes.

Bonjour,

Merci pour vos réponses, cela fonctionne avec vos recommandations.

Je vais faire plus attention au référence à l’avenir.

Merci

Bonjour,
Merci de votre observation, nous allons corriger cela.
Cordialement,

Merci, ce n’est déjà pas simple de s’y retrouver alors autant avoir des exemples parlants. :wink: