Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi dynamische array überall verfügbar machen... (https://www.delphipraxis.net/2875-dynamische-array-ueberall-verfuegbar-machen.html)

janjan 11. Feb 2003 12:43


dynamische array überall verfügbar machen...
 
tach zusammen

angenommen ich hab in meinem hauptprogramm eine variable als

Delphi-Quellcode:
var dynarray: array of TDingsBums
deklariert und möchte auf dieses array in einer selbstgeschriebenen komponente zugreifen, bzw. ändern. wie mach ich das am besten? sicherlich mit zeigern, aber wie?

sakura 11. Feb 2003 12:49

Vorneweg eine wichtige Frage. Wenn mehrere Komponenten auf dieses Array zugreifen, soll jede Komponente ihr eigenes Array haben, oder sollen alle auf das gleiche Array zugreifen?
...:cat:...

janjan 11. Feb 2003 13:45

alle komponenten sollen auf die selben daten zugreifen können...

Gollum 11. Feb 2003 13:50

Hallo,

Deine Komponenten wissen nichts vom Hauptprogramm aber das Programm kennt die Kompo's.

Dies bedeutet, Du deklarierst das Array in einer globalen Unit, auf die dann alle Programmteile zugreifen können.

sakura 11. Feb 2003 13:55

Wenn nur Deine Komponente darauf zugreifen soll, dann ist es am besten, dieses Array im implementation Teil der Unit Deiner Komponente zu deklarieren.

...:cat:...

janjan 11. Feb 2003 13:56

meine überlegungen waren eher dahingehend, dass ich den komponenten zeiger auf das array übergebe. klappt das, oder haben die komponenten keinen zugriff auf den speicher des hauptprogramms?

sakura 11. Feb 2003 14:00

An welcher Stelle möchtest Du denn den Zugriff auf das Array gewähren. Wird das Array durch Dein Hauptprogramm definiert oder durch eine Deiner Komponenten?

...:cat:...

janjan 11. Feb 2003 14:19

also:

in meinem hauptprogramm hab ich ein dyn. array das lauter koordinaten enthält. außerdem hab ich eine komponente die diese koordinaten darstellen soll. um das tun zu können, muss die komponente logischerweise irgenwie an die werte rankommen. außerdem soll die komponente koordinaten zu dem array im hauptprogramm hinzufügen können.

sakura 11. Feb 2003 14:29

Ich gehe mal davon aus, dass Deine Koordinaten für jeden Punkt in einem Record gespeichert werden.
Delphi-Quellcode:
// z.b.
type
  TPunkt = record
    X, Y, Z: Double;
  end;
Dann solltest Du ein dynamisches Array deklarieren
Delphi-Quellcode:
// z.b.
type
  TPunkte = array of TPunkt;
Anschließend kannst Du in Deiner Komponente eine Property Punkte erstellen.
Delphi-Quellcode:
//z.b.
public
  property Punkte: TPunkte read FPunkte write FPunkte;
Jetzt kannst Du die Zusweisungen ohne Probleme machen.

...:cat:...

janjan 11. Feb 2003 15:07

thx, genau das hab ich gesucht :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz