[DUG] Strange access error on application close...

Paul McKenzie paul at smss.org.nz
Wed Aug 9 11:39:27 NZST 2006


Not sure about the problem - but I do not see where you create the DataModule ...
I suspect the is probably at the heart of your problems...

Regards
Paul McKenzie
Wellington
New Zealand


Dave O'Brien wrote:
> 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
> Delphi at ns3.123.co.nz
> http://ns3.123.co.nz/mailman/listinfo/delphi
> 
> 



More information about the Delphi mailing list