Einzelnen Beitrag anzeigen

Andre93

Registriert seit: 10. Jun 2010
15 Beiträge
 
Delphi 6 Personal
 
#11

AW: Delphi vergisst die Werte der Eigenschaften meiner Klasse

  Alt 31. Aug 2011, 23:48
hey,
sry hatte vergesse das mit der delphi version anzugeben.
also ich hab delphi 6, weil wir in der schule auch nichts neueres haben, naja auf jeden fall dürfte bei delphi 6 ja nicht der fehler auftreten von dem du redest..
ich hab das jetzt mal mit setlength gemacht und es funktioniert eigentlich auch alles. das einzig komische ist nur, dass nachdem ich mit meinem output fertig bin enthält mein "rückgabe-array" zwar die richtigen werte, wenn ich dann allerdings mit einer zählschleife das array durchakkern will um die inhalte wieder auszugeben ist der inhalt des array mit einmal nicht mehr arB : [69,100,105,116,49,...,...] sondern nur noch zuerst arB : (69), dann arB : (36), dann arB : (). wenn man sich das ganze in der watchlist anguckt sieht es auf jeden fall nachdem moment wo die schleife beginnt nich mehr wie ein array aus.

hier mein quelltext :

das hier funktioniert noch :
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 D := TData.Create;
 D.Init(500,1);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
 arB : array of Byte;
 I,Len : Integer;
begin
 len := length(Edit1.Text);
 SetLength(arB,len);
 for I := 0 to len - 1 do
  arB[I] := ord(Edit1.Text[I+1]);
 D.Input(@arB,len);
end;
und bei dem hier hat er bis vor der schleife noch die richtigen werte im array und während der schleife läuft dann irgendwas schief :

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
 P : pointer;
 arB : TArByte;
 I : Integer;
begin
 D.OutPut(P);
 SetLength(arB,D._RealSize);
 arB := TArByte(P^); //bis hier ist alles wie es sein soll
 for I := 0 to D._RealSize - 1 do
  Caption := Caption + chr(arB[I]);
end;
schönen abend noch..
  Mit Zitat antworten Zitat