>>>>You are right. However, I'm of opinion that you are actually breaking a 'standard rule' here. You are at risk of changing the value of a variable in the calling program. The code should be something like:
>>>>
>>>>
lparameters tlEnabled, toObject
>>>>
>>>>local loObjectX
>>>>
>>>>if vartype( m.toObject ) <> "O"
>>>> loObjectX = this
>>>>else
>>>> loObjectX = m.toObject
>>>>endif
>>>
>>>No risk at all since I'm using lparameters and not passing variable by reference.
>>
>>Ah, but, as far as I know, objects are
always passed by reference, because the object type variables
are references to actual objects. So if you pass an object by value, you do get a new variable, which still refers to the same object.
>
>
>You're absolutely right. That again proves that Peter is wrong <g>, since two people can only be right at the same time in Hershelle Ostropoller's stories. <g>
Peter is wrong? <g>
PUBLIC oform1
oform1=NEWOBJECT("form1")
oform1.Show
RETURN
DEFINE CLASS form1 AS form
Top = 0
Left = 0
Height = 146
Width = 314
DoCreate = .T.
Caption = "Form1"
Name = "Form1"
ADD OBJECT check1 AS checkbox WITH ;
Top = 54, ;
Left = 72, ;
Height = 17, ;
Width = 82, ;
AutoSize = .T., ;
Caption = "Checkbox 1", ;
Value = .F., ;
Name = "Check1"
ADD OBJECT check2 AS checkbox WITH ;
Top = 84, ;
Left = 72, ;
Height = 17, ;
Width = 82, ;
AutoSize = .T., ;
Caption = "Checkbox 2", ;
Value = .F., ;
Name = "Check2"
ADD OBJECT command1 AS commandbutton WITH ;
Top = 12, ;
Left = 72, ;
Height = 27, ;
Width = 174, ;
Caption = "Check/Uncheck checkbox 1", ;
Name = "Command1"
PROCEDURE dummy
lparameter toObject
toObject = thisform.check2
ENDPROC
PROCEDURE command1.Click
local loCheckbox
set udfparms to REFERENCE
loCheckbox = thisform.check1
thisform.dummy( loCheckbox )
loCheckbox.value = not loCheckbox.value
ENDPROC
ENDDEFINE
Groet,
Peter de Valença
Constructive frustration is the breeding ground of genius.
If there’s no willingness to moderate for the sake of good debate, then I have no willingness to debate at all.
Let's develop superb standards that will end the holy wars.
"There are three types of people: Alphas and Betas", said the beta decisively.
If you find this message rude or offensive or stupid, please take a step away from the keyboard and try to think calmly about an eventual a possible alternative explanation of my message.