Dans Clarion, je cherche à définir la définition d'un OLE dynamiquement dans une fenêtre. En ce moment, voilà comment je définir deux objets OLE dans une fenêtre:Définir conditionnellement Définition OLE
Window WINDOW('Test ActiveX Window'), AT(,,431,92), FONT('MS Sans Serif', 8,, FONT:regular), COLOR(COLOR:White), CENTER, ALRT(F2Key), TIMER(10), GRAY
OLE, AT(10,3,11,7), USE(?MyOLE1), HIDE, CREATE('MyActiveX.MyActiveXCtrl.1'), COMPATIBILITY(021H) END
OLE, AT(30,3,11,7), USE(?MyOLE2), HIDE, CREATE('SomeOtherActiveX.SomeOtherActiveXCtrl.1'), COMPATIBILITY(021H) END
END
Les deux objets contiennent les mêmes définitions de méthode (. Ex TestMethod
), presque comme ils mettent en œuvre une interface commune. Je peux actuellement les appeler conditionnellement comme ceci:
if (condition)
testStr = ?MyOLE1{'TestMethod(param1)'}
else
testStr = ?MyOLE2{'TestMethod(param1)'}
end
Ce que je voudrais faire est de créer un seul objet, puis définir dynamiquement la définition du contrôle. Je sais qu'il y a d'autres façons de simplifier cela (wrappers OCX, etc), mais en fonction des exigences du projet, voici comment cela doit être fait. À un certain point, ce code passera de 2 objets à beaucoup plus et ce sera beaucoup plus propre.
Comment puis-je définir dynamiquement la définition du contrôle (partie MyActiveX.MyActiveXCtrl.1
)?
Quel est le motif de la downvote à ce sujet? Déroutant? Pas une langue populaire? – DanM7