When I step through in debugger the code works as intended. It only occurs at runtime thus the wait windows you see.
>I suppose you've already done some debugging, tracing and such?, does the value magically change when stepping through the program?. Another thing I could think of is code in the calling form's deactivate or lostfocus event that somehow changes the value.
>
>>cFrmDetailListing absolutely does not call back to THISFORM and change THISFORM.lIsOkToSave
>>
>>What am I missing here.
>>
>>
>>
>>* Evaluates to .F.
>>WAIT WINDOW '1: ' + IIF(THISFORM.lIsOkToSave, 'T', 'F')
>>
>>oForm = NEWOBJECT('cfrmDetailListing', ;
>> 'MCSForms_DetailInput', ;
>> NULL, ;
>> cProvider)
>>
>>*Still .F.
>>WAIT WINDOW '1: ' + IIF(.lIsOkToSave, 'T', 'F')
>>
>>IF VARTYPE(oForm) = 'O'
>> WITH oForm
>> .SHOW(1)
>> * All of sudden true and remains .t. when it should not be.
>> * should be .f.
>> WAIT WINDOW '2: ' + IIF(THISFORM.lIsOkToSave, 'T', 'F')
>>
>> IF .lSelected
>> cRetVal = .cCode
>> THISFORM.cPCAdd = '4'
>> ENDIF
>>
>> WAIT WINDOW '3: ' + IIF(THISFORM.lIsOkToSave, 'T', 'F')
>>
>> ENDWITH
>>ENDIF
>>
What ben makes tracks for what wil be. Words in the air pirnt foot steps on the groun for us to put our feet in to.
Riddley Walker