Einzelnen Beitrag anzeigen

Ava-chan

Registriert seit: 5. Jul 2006
8 Beiträge
 
Delphi 7 Professional
 
#1

EAccess Violation im Programm

  Alt 11. Feb 2007, 14:32
Access Violation at Address 00496757 in module 'Logon.exe'. Read of Address 0000001C.

Ich habe ein Programm geschrieben welches ein Kartenspiel simuliert und habe nun nach knapp nem Jahr mich mal wieder dran gesetzt nen bissi dran weiter zu schreiben da es nicht mal halb fertig ist ^.^

Na ja ... und es Gibt da einen EAccess Violation Fehler beim Datenbankzugriff. Das Programm selbst soll an der Stelle wo der Fehler auftritt eigentlich nur dasselbe tun was er schon x-mal vorher getan hat und zwar auf die Datenbank zugreifen und einen Teil davon geteilt in einzelne Variablen schreiben welche ich dann später weiter verwenden möchte.

Delphi-Quellcode:
  If JoinPanel.Visible=true THEN
  begin
    If Variable='1THEN
   begin
  befehl:='Select * FROM hackserv.GAMEIDA'+(Joiner)+'';
  query:= PChar(befehl);
  mysql_real_query(_myCon, query, length(query));
 _myRes := mysql_store_result(_myCon); //alle Datensätze vom Server anfordern
 if _myRes = nil then
  begin
   ShowMessage('Timer 5 :Es konnten keine Datensätze zurückgebenen werden. Ursache: ' + mysql_error(_myCon));
   Exit; _myRes := mysql_store_result(_myCon); //alle Datensätze vom Server anfordern
  end;
  end;
 // SGErgebnisse einstellen

   _myRow := mysql_fetch_row(_myRes); // aktueller Datensatz der aktuellen Zeile
      // FEHLER IN SPS := STR to int Access Violation ??
      SPS:=strtoint(_myRow[7]); //Augabe in der Tabelle
      Label332.Caption:=_myRow[1]; //Augabe in der Tabelle
      Label333.Caption:=_myRow[2]; //Augabe in der Tabelle
      Label334.Caption:=_myRow[3]; //Augabe in der Tabelle
      Label335.Caption:=_myRow[4]; //Augabe in der Tabelle
      Label336.Caption:=_myRow[5]; //Augabe in der Tabelle
      Label337.Caption:=_myRow[6]; //Augabe in der Tabelle
   Label338.Caption:='';
   Label339.Caption:='';
   Label340.Caption:='';

   If strtoint(Label335.Caption)>strtoint(Label332.Caption) THEN Label338.Caption := '*';
   If strtoint(Label336.Caption)>strtoint(Label333.Caption) THEN Label339.Caption := '*';
   If strtoint(Label337.Caption)>strtoint(Label334.Caption) THEN Label340.Caption := '*';
   GroupBox3.visible:=true;
   befehl:='delete from hackserv.GAMEIDT'+(Joiner)+' WHERE Comunicator=5';
   SQL_Insert(befehl);
   befehl:='delete from hackserv.GAMEIDT'+(Joiner)+' WHERE Comunicator=3';
   SQL_Insert(befehl);
   If JoinPanel.visible=true then
   befehl:='insert into hackserv.GAMEIDT'+(JoinEingabe.text)+' (Comunicator,Dran) values (3,2)';
   If WaitforPlayer.visible=true then
   befehl:='insert into hackserv.GAMEIDT'+(ID)+' (Comunicator,Dran) values (3,1)';
   SQL_Insert(befehl);
   end;
Das währe der Auszug ... den Fehler bekomme ich immer bei der zuweisung SPS := strtoint(_myRow[7]); Ich habe schon gedacht das es da irgendwelche Datentyp probleme gibt und den kompletten block deaktiviert, aber das bringt auch nichts. Ich bin mir inzwischen nicht mal mehr sicher ob es an diesem block liegt o.O Hoffe aber einfach das mir trotzdem jemand helfen kann. -.- Wie gesagt der Fehler kann auch wo anders liegen aber die zeile mit SPS ist die, in welcher er mich in die Delphi umgebung zurückschmeißt und mir den Fehler ausgibt.

Ich habe die komplette Datei einfach einmal angehängt. Währe echt super wenn mir wer helfen könnte. Da der Fehler mich langsam zum verzweifeln bringt ^.^ Aber na ja.

Mata ne Ava-chan
Angehängte Dateien
Dateityp: pas login_164.pas (254,6 KB, 0x aufgerufen)
  Mit Zitat antworten Zitat