Einzelnen Beitrag anzeigen

Hafish

Registriert seit: 22. Mär 2007
37 Beiträge
 
#9

Re: Dynamisches zwei dimensionales Array erzeugen und zugrif

  Alt 19. Apr 2007, 06:15
Zitat von Jmh124:
eigentlich war ich der meinung ich mache das mit setlength ;/
Ja, aber damit setzt du nur die Länge des Arrays. Die einzelnen Record-Objekte brauchen auch Speicher.

Also:
Wenn du Pointer benutzt, dann musst du erst Speicher für die einzelnen Objekte reservieren, bevor du sie benutzen kannst. Wenn du das Prinzip von Pointern noch nicht verstanden hast rate ich dir dringed zu einem Tutorial(Edit:z.B. hier) bzw einem wikipedia Besuch.


Trotzdem hier mal der Code mit dem es klappt:

Delphi-Quellcode:
  
procedure TForm1.Button1Click(Sender: TObject);
begin
  SetLength(PList,100,100);
  GetMem(PList[45,10],SizeOf(TTextList));
  PList[45,10].text := 'Test';
  ShowMessage(PList[45,10].text);
  FreeMem(PList[45,10]);
end;
Allerdings musst du vorher die String-Länge begrenzen
Delphi-Quellcode:
  TTextlist = record
    text: string[255];
  end;
  Mit Zitat antworten Zitat