General information
Category:
Coding, syntax & commands
Hi John
I use a real simple custom class that has one property, an array. I use this mostly for passing parameters to forms. When I create the class, I pass one parameter which is the number of dimensions for the array. I can then pass the object around (and they array with it!) without having to worrry of handling arrays.
ox = createobject("FormParms", 5)
ox.acdata[1] = 'Parameter 1'
...etc.
*-- usually a modal form getting input
DO FORM GetInput WITH ox
DEFINE CLASS FormParms AS CUSTOM
*-- Custom properties
DIMENSION acdata(1)
PROCEDURE INIT
LPARAMETER ncnt
IF TYPE("ncnt") != "N"
RETURN
ENDIF
DIMENSION this.acdata[ncnt]
RETURN
ENDDEFINE
>Hi gang!
>
>OK...have a situation that I could use some "been there, done that" advice on. I have a selection form and I'd like to store the selected values to an array. I'd like to create the array in the calling method and pass it to the form. I've tried:
>
>PUBLIC ARRAY aSelected[1]
>DO FORM frmSelector WITH @aSelected
>
>But it bombs. Doesn't like the Byref "@" sign. And I don't like the idea of declaring public memvars to begin with.
>
>Any suggestions on an alternative architecture? I have it working with PUBLIC ARRAY aSelected[1] and then hard-wiring the reference to aSelected in frmSelector but I don't like to hard-wire memvar references.
Previous
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only