Einzelnen Beitrag anzeigen

n00b2key

Registriert seit: 2. Jan 2003
11 Beiträge
 
#1

wieso werden PChar Werte im dyn. Array gelöscht?

  Alt 5. Sep 2004, 22:24
Hi@ll

frage steht oben, hab keine ahnung wieso alle werte auf '' zurück gesetzt werden?! hier der code:

Code:
type
 TDrives = record
   Device : Byte;
   Drive : PChar;
 end;

 TForm1 = class(TForm)
 private
   aDrives: Array of TDrives;
   DriveBtns: Array of TBitBtn;
   procedure List_Drives;
   procedure CreateDriveBtns;
   { Private-Deklarationen }
 public
   { Public-Deklarationen }
 end;

const
 DRIVE_UNKNOWN = 0;
 DRIVE_NO_ROOT_DIR = 1;
 DRIVE_REMOVABLE = 2;
 DRIVE_FIXED = 3;
 DRIVE_REMOTE = 4;
 DRIVE_CDROM = 5;
 DRIVE_RAMDISK = 6;

procedure TForm1.List_Drives;
begin
// speichert den Drive Index und den Laufwerksbuchstaben (zB 'C:\') im aDrives Array
end;

procedure TForm1.CreateDriveBtns;
var
   i:Byte;
begin
 List_Drives;
 SetLength(DriveBtns, length(aDrives));
 for i := low(aDrives) to High(aDrives) do
 begin
   DriveBtns[i] := TBitBtn.Create(self); // <- Nach diesem Befehl werden die Daten im aDrives Array gelöscht (Nur die Laufwerksbuchstaben und nicht die Indexe)?!?!
   DriveBtns[i].Parent := Panel1;
   DriveBtns[i].Top := i*30;
   DriveBtns[i].Caption := string(aDrives[i].Drive);
 end;
end;
Ich bin n00b und das ist auch gut so!
  Mit Zitat antworten Zitat