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
[email protected]
http://ns3.123.co.nz/mailman/listinfo/delphi



_______________________________________________
Delphi mailing list
[email protected]
http://ns3.123.co.nz/mailman/listinfo/delphi

Reply via email to