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

Paul McKenzie paul at smss.org.nz
Wed Aug 9 11:50:12 NZST 2006


What are you doing (if anything) in the Create and Destroy of the dataModule ?

Regards
Paul McKenzie
Wellington
New Zealand


Dave O'Brien wrote:
> Sorry, the datamodule is the first created, above that code...
> 
> begin
>   Application.CreateForm(TDataMod, DataMod);
>   Application.CreateForm(TfrmMain, frmMain);
>   Application.CreateForm(TfrmLogin, frmLogin);
>     if frmLogin.ShowModal = mrOK then
>     begin
> 
> Problem with cutting and pasting...
> 
> -----Original Message-----
> From: delphi-bounces at ns3.123.co.nz [mailto:delphi-bounces at ns3.123.co.nz]
> On Behalf Of Paul McKenzie
> Sent: Wednesday, 9 August 2006 11:39 a.m.
> To: NZ Borland Developers Group - Delphi List
> Subject: Re: [DUG] Strange access error on application close...
> 
> 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
>>
>>
> 
> 
> _______________________________________________
> Delphi mailing list
> Delphi at ns3.123.co.nz
> http://ns3.123.co.nz/mailman/listinfo/delphi
> 
> _______________________________________________
> Delphi mailing list
> Delphi at ns3.123.co.nz
> http://ns3.123.co.nz/mailman/listinfo/delphi
> 
> 



More information about the Delphi mailing list