I can't really help with why you are getting this error but I do recall that we had problems (ie A/Vs) with our application if it exited without calling Application.Run first in a very similar situation to yours (ie login being cancelled).
I never worked out why beyond determining that it didn't happen if we called Application.Run and then Application.Terminate (actually slightly more complicated in our case but it boils down to that). Your situation with changing the text avoiding the A/V makes very little sense but it may just be a symptom. Your real problem may be something internal to Delphi getting upset with the Application not being set to Run. Just a thought. David. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dave O'Brien Sent: Wednesday, 9 August 2006 11:27 a.m. To: NZ Borland Developers Group - Delphi List Subject: [DUG] Strange access error on application close... Application... (Using DBGo) begin Application.CreateForm(TfrmMain, frmMain); Application.CreateForm(TfrmLogin, frmLogin); if frmLogin.ShowModal = mrOK then begin seID := 0 ; datamod.ADOQuery.SQL.Text := 'Select seID from Security...' ; datamod.ADOQuery.Open ; try if not datamod.adoQuery.eof then seID := datamod.ADOQuery.FieldByName('seID').AsInteger else ShowMessage('Invalid Username/Password') ; finally datamod.ADOQuery.Close ; end ; if seID <> 0 then Application.Run ; end ; end. With the above concept code I am getting a strange error. "Access violation at address 00490742 in module'test.exe'. Read of address 00C628C8" The error occurs if the login is cancelled, does not occur if the login is OK'd but the username/password is not found, so it has nothing to do with "Running" the app. If I change the end of the file to: if seID <> 0 then Application.Run ; end else datamod.ADOQuery.SQL.Text := 'Anything but a blank string...' ; end. It now exits fine... Any idea why I have to assign some text to the query or the app bombs on exit? There are multiple TADOQuery's in the data module, so why don't I have to assign something to each of them? Assigning a value only to that query at design time also resolves the problem. Cheers, Dave. _______________________________________________ Delphi mailing list [email protected] http://ns3.123.co.nz/mailman/listinfo/delphi _______________________________________________ Delphi mailing list [email protected] http://ns3.123.co.nz/mailman/listinfo/delphi
