Einzelnen Beitrag anzeigen

plautzer

Registriert seit: 23. Aug 2003
172 Beiträge
 
#1

Zugriffsfehler bei eigner Funktion

  Alt 6. Jan 2005, 17:44
Hi,

ich speichere geänderte reihen aus stringgrid in einem label und diese später wieder benutzten zu können. Da ich keine doppelten reihen zu lassen will, habe ich mir eine funktion gebastelt:

Delphi-Quellcode:
var
a:array of integer;
zahl:integer;
Delphi-Quellcode:
function TForm1.posproof(label_zahl,reihe:integer):boolean;
var zahl:integer;
begin
if label_zahl > 1 then
  begin
    zahl:=1;
    while zahl < label_zahl do
      begin
      if reihe= a[zahl] then
      begin
      result:=true;
      exit;
      end
      else zahl:=zahl+1;
   end;
   result:=false;
end
else result:=false;
end;
und hier die prozedur um die reihen zu speichern:

Delphi-Quellcode:
procedure TForm1.stringgrid1SetEditText(Sender: TObject; ACol,
  ARow: Integer; const Value: Strin

g);
begin
if posproof(strtoint(label1.Caption),stringgrid1.Row) = false then
begin
setlength(a,2);
zahl:=strtoint(label1.Caption);
a[zahl]:=stringgrid1.Row;
label1.Caption:=inttostr(zahl+1);
end;
end;
Nun zu meinen problemen:

1) Die zweite zahl, die immer gespeichert wird, ist immer eine utopische (996855217). kA warum? habt ihr einen rat?
2) Es kommt immer ein Error: "zugriffverletzung...."

Stimmt irgentwas mit einem code nicht?

Plautzer
  Mit Zitat antworten Zitat