Announcement

Collapse
No announcement yet.

Zugriffsverletztung o.O

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zugriffsverletztung o.O

    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
    Zuletzt editiert von Morpheusly; 16.10.2007, 15:43.
Working...
X