S'il vous plaît considérer ce simple code rebol2 pour illustrer mon problème:volet de mise en page VID supportant plusieurs créations face [rebol2]
REBOL []
a: make face [
offset: 0x0
color: yellow
size: 20x20
]
b: make face [
offset: 0x0
color: red
size: 60x60
pane: reduce [
make a [offset: 0x0]
make a [offset: 10x10]
make a [offset: 10x20]
]
]
view layout [
box 200x200 white with [
pane: reduce [
make b [offset: 0x30] ;; one 'instance' of b
]
]
]
Le point principal est ici pour une mise en page (ou face) pour être en mesure d'afficher un groupe de faces à l'intérieur de son bloc de manière à ce que plusieurs créations de la même face (b
dans ce cas) soient possibles. Le code indiqué fonctionne bien, et le seul instance (laissez-moi l'appeler de cette façon) de b
est affiché comme il se doit.
Mais Supposons maintenant que je changer le code, donc je l'ai, disons, 2 cas de b
:
view layout [
box 200x200 white with [
pane: reduce [
make b [offset: 0x30]
make b [offset: 0x10]
]
]
]
A ce stade, je reçois l'erreur
** Script Error: Face object reused (in more than one pane): none
** Where: view
** Near: show scr-face
if new [do-events]
Du message que je présume ici, ce visage est en quelque sorte être réutilisé et déconner exactement ce que j'essaie d'atteindre. J'ai fait beaucoup de recherches à ce sujet et à un moment donné, j'ai trouvé qu'il est possible de contourner le problème en clonant (en utilisant make
) le visage à passer à pane
; c'est ce que je pensais faire, mais sans succès du tout. Étant donné ce scénario, ma question est la suivante: comment puis-je résoudre ce problème? est rebol2 ok pour fournir cette "face-instantiation" ou il est préférable d'essayer quelque chose d'autre en dehors de rebol2 (peut-être rebol3)?
Toute aide sera grandement appréciée.
La deuxième approche fonctionnait mieux pour mon problème et elle était simple/transparente pour ce que j'avais l'intention de construire avec ce code. Merci de poster: D – rdonatoiop