Thanks for catching this. I will comment the "release oPassword"
>Just nitpicking your code:
>the "release oPassword" will not fire when oPassword is already NULL when entering the if-clause...
>
>>Hi,
>>
>>I have one or two customers where their error log shows an error in a method Start. And the error message is "Record out of range." The customers themselves never reported this error; I just see it in their log file.
>>
>>This method Start is of the global application object (oApp) is called at the top of the application.
>>
>>The code in the Start method is as follows:
>>
>>
>>PROCEDURE Start
>>
>> do while .T.
>>
>> read events
>> if this.cleanup()
>> on shutdown
>> this.cleanup2()
>> if type('oPassword') = 'O' .and. !ISNULL( oPassword )
>> oPassword.Close_user_login_file()
>> oPassword.destroy()
>> oPassword = .NULL.
>> release oPassword
>> endif
>> exit
>> endif
>>
>> enddo
>>
>>
>>I don't see any line of the code above that would cause the "record out of range."
>>
>>I have two questions:
>>1. If the error happened in a method called by Start (cleanup() and cleanup2() and method .Close_User_Login_File()), the error should point to that method and not Start(); correct?
>>2. Do you see anything that maybe need to be changed in this method?
>>
>>
>>TIA
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham