Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Unerklärliche Access Violation (https://www.delphipraxis.net/74574-unerklaerliche-access-violation.html)

NikoMitDaMacht 5. Aug 2006 12:47


Unerklärliche Access Violation
 
Hi!
Ich schreibe gerade an einem Programm mit den ich Arbeiszeiten bereche.
Diese werden in eine MySql DB mit zwei unterschiedlichen Timestamps geschpeichert.

Soweit funtzt auch alles...bis ich die "Debug-ShowMessages" wegmachen wollte.
Nun kommt (an einer anderen stelle in code) eine Access violation!

Hier die beiden Codeteile:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
    Descriptor := mysql_init(nil);
    ShowMessage('Verbinde') ;
    Descriptor := Connect(Descriptor, HOST, USER, PW, '', PORT);
    if Assigned(Descriptor) then
       begin
         ShowMessage('Verbunden');
         GetUsers;
       end;
end;
Delphi-Quellcode:
function TForm1.GetTimes(userid:integer): TTimes;
var
  I,mins,userindex: Integer;
begin
if ExecQuery(DBNAME, 'SELECT `from`,`to` FROM `times` WHERE userid='+IntToStr(userid)+' ORDER BY `from` ASC', Cols, Rows) then
   begin
     if length(rows[0])>0 then
        begin
          setlength(result,numrows);
          for I := 0 to numrows - 1 do
              begin
                result[i][0]:=strtoint(rows[0][i]);
                result[i][1]:=strtoint(rows[1][i]);
                mins:=mins+((result[i][1]-result[i][0]) div 60)
              end;
          userindex:=GetUserIndexById(userid);
          users[userindex].minutes:=mins;
          ShowMessage(IntToStr(users[userindex].id));
          ShowMessage(IntToStr(users[userindex].minutes));
        end;
   end;
end;
Also ich mach bei FormCreate die smgs weg und ich bekomm bei GetTimes eine Access Violation ???!!!
Außerdem: Wenn ich alles so lass aber nun bei gettimes die smgs raus mach bekomm ich ein falsches ergebnis (10997956 statt 60)#

Ich hab mir schno geadacht das da irgent etwas mit der mysql connection schief läuft...also hab ich mal sleeps statt den ShowMessages reingemacht...hilft aber nichts

Waran kann das liegen??

Meflin 5. Aug 2006 13:04

Re: Unerklärliche Access Violation
 
Du verwendest im 2. Teil irgendwas Namens "numrows". Was soll das denn sein? Eine globale Variable etwa :shock: Genau wie im ersten dein "Descriptor"!

Was sagt eigenltich die Violation genau? "Read from address" oder ist es eine "Write" - Vioaltion? Desweiteren: wo GENAU tritt die Access Violation auf?



Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz