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??