Hallöle ! Ich Habe folgenden Code gebastelt:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var conc: String;
var I: Integer;
var Connection: TSQLConnection;
begin
conc := 'yes';
  Connection := TSQLConnection.Create(nil);
  Connection.DriverName := 'dbxmysql';
  Connection.GetDriverFunc := 'getSQLDriverMYSQL50';
  Connection.LibraryName := 'dbxopenmysql50.dll';
  Connection.VendorLib := 'libmysql.dll';
  Connection.Params.Append('Database=dm');
  Connection.Params.Append('User_Name=root');
  Connection.Params.Append('Password=---------');
  Connection.Params.Append('HostName=techsm.dyndns.org');
try
  SQLConnection1.Open;
except
  conc := 'no';
end;
if conc = 'yes' then
begin
with SQLQuery1 do
begin
  SQL.Clear;
  SQL.Add('SELECT * FROM user');
  ExecSQL();
  Open;
end;

{Starte Passwort-Überprüfung}
  for I := 0 to SQLQuery1.Fields.Count - 1 do
  begin
    if Edit1.Text = SQLQuery1.Fields.Fields[I].AsString then
    begin
      if Edit2.Text = SQLQuery1.Fields.Fields[I+1].AsString then
      begin
          ShowMessage('Richtige Daten')
      end
      else
          ShowMessage('Falsches Passwort');
    end;
  end;
  SQLQuery1.Close;
  SQLQuery1.Free;
end;

{Setze Instanzen frei}
SQLConnection1.Close;
SQLConnection1.Free;
end;
Nun, wenn ich auf auf diesen Button klicke, funktionier alles.
Wenn ich allerdings ein zweites Mal auf den Button klicke, bekomme ich eine Zugriffsverletztung:

Code:
Erste Gelegenheit für Exception bei $7C812A5B. Exception-Klasse EAccessViolation mit Meldung 'Zugriffsverletzung bei Adresse 0047784E in Modul 'Project1.exe'. Lesen von Adresse 00000000'. Prozess Project1.exe (5296)
Ich habe die 2 neuen Treiber für mySQL 5.x und weiß trotzdem nicht weiter.

Danke, Morpheusly

..:: Edit ::..
Ok, wenn ich Close und Free weglasse und stattdessen KeepConnection auf False stelle gehts wunderbar