General information
Category:
Forms & Form designer
I have found a very useful method is to use a custom 'parameter' object for passing array information.
I don't have my code but I believe the class is defined as such:
DEFINE CLASS formparms AS custom
Name = "formparms"
DIMENSION acdata[1,1]
PROCEDURE Init
LPARAMETER tnsize
DIMENSION this.acdata[tnsize]
ENDPROC
ENDDEFINE
When I do a createobject for this class, I pass in the size of the array I want.
So your code would be changed to this:
ox = Createobject("formparms", 5)
ox.acdata[1] = 200 && Height
ox.acdata[2] = 260 && Width
ox.acdata[3] = 290 && Left
ox.acdata[4] = 70 && Top
ox.acdata[5] = ThisForm.txtPick.Value
do form UserChild with ox
The reason I do this is because in a lot of cases I want some return values from the modal form. I use it for forms that ask for date ranges etc. or other parameters before printing a report.
This method is very quick, easy and flexible and avoids some of the issues of passing arrays to functions. As well it is more 'Object Oriented'!
>Earlier post was not accurate in the code, here it is.
>
>I have a form with a 5-element array in it. I would like to pass this to a modal child form and use the elements in the array to resize the child form.
>
>So in the click event of the parent form's button, I have:
>dimension arFormSpec[5]
>arFormSpec = ''
>arFormSpec[1] = 200 && Height
>arFormSpec[2] = 260 && Width
>arFormSpec[3] = 290 && Left
>arFormSpec[4] = 70 && Top
>arFormSpec[5] = ThisForm.txtPick.Value
>do form UserChild with arFormSpec
>
>And then I made a form property on the child modal form called
>arFormSpec[5]
>
>And in the init method of the form I have
>ThisForm.Height = arFormSpec[1]
>
>But when I run the parent form I get an error - NO PARAMETER STATEMENT IS FOUND
>
>What did I miss?
Previous
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