PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dynamische Arrays in Delphi


aths
2003-03-15, 14:05:35
Hi Folks,

folgendes Problem: Ich möchte, zur Laufzeit, ein dynamisches Array erzeugen, was auch in anderen procedures ausgelesen werden kann.

Geht das überhaupt? Wenn ja, wie?

Demirug
2003-03-15, 14:21:30
Schau mal unter GetMem und FreeMem nach.

aths
2003-03-15, 16:46:28
Originally posted by Demirug
Schau mal unter GetMem und FreeMem nach. Hab ich schon. Meine Hilfe enthält allerdings keinen Beispielcode.

Darkstar
2003-03-15, 19:49:27
Originally posted by aths
Geht das überhaupt? Wenn ja, wie? Deklariere die Variable für das dynamische Array doch einfach global (und ggf. public).

x-dragon
2003-03-15, 21:18:23
Originally posted by aths
Hi Folks,

folgendes Problem: Ich möchte, zur Laufzeit, ein dynamisches Array erzeugen, was auch in anderen procedures ausgelesen werden kann.

Geht das überhaupt? Wenn ja, wie?


unit FmTest;

interface

uses
...

type
TFmTest1 = class(TForm)
...

private
a: array of array of string;

public

...

procedure Form1.....;
begin
SetLength(a, 2, 20);
a[1,12] := 'Test';
end; Wenn du das Array nur in dem Formular brauchst, dann ist es unter Private am besten aufgehoben und du kannst von jeder Procedure darauf zugreifen.

aths
2003-03-16, 00:50:56
Hier verstehe ich nicht ganz den Mechanismus. array of array of? An welcher Stelle kommt die dynamische Speicherzuweisung ins Spiel?

Pitchfork
2003-03-16, 01:16:33
Ich bin zwar kein Delphianer, aber ich denke hier:

SetLength(a, 2, 20);

Darkstar
2003-03-16, 11:27:47
Das ist ein zweidimensionales Array, welches sich in beide Richtungen dynamisch erweitern läßt (hier auf 2 mal 20 Felder). Steht aber auch alles in der Delphi-Hilfe (unter „Dynamic arrays“ bzw. „Multidimensional dynamic arrays“ in der englischen Hilfe).

aths
2003-03-16, 13:39:10
Muss ich mal probieren. Danke.