Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Objekte adressieren
hRb - Fr 19.12.14 20:50
Titel: Objekte adressieren
Ich habe noch Probleme zur Adressierung von Objekten. In meiner Anwendung gibt es mehr als 10 Richedit-Objekte, die alle untereinander Textdaten austauschen sollen. Die einzelnen Textvorlagen liegen jeweils auf einen TTabbedNotebook-Objekt und lassen sich somit mit Nr 1..n in den Vordergrund bringen. Abwechselnd hat ein RichEdit-Objekt den Fokus und bezieht nach bestimmten Regeln seine Daten. Ich habe die Vorstellung, alle Richedit-Objekte als ein Array[1..n] darzustellen. Dann könnte ich alle Verarbeitungsfunktionen einfach mit den Parametern "vonREdit", "nachREdit" ansprechen. Wie formuliert man so etwas mit konkret vorhandenen Einzel-Objekten?
Moderiert von
Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Fr 19.12.2014 um 21:21
OlafSt - Fr 19.12.14 22:15
Erzeuge ein Array aus TRichEdits:
Delphi-Quelltext
1: 2:
| var REArray: array[1..8] of TRichEdit; |
Anschließend legst du die RichEdits einfach da rein:
Delphi-Quelltext
1: 2: 3:
| REArray[1]:=RichEdit1; REArray[2]:=RichEdit2; ... |
Geht mit FindComponent noch simpler.
Das wars. Da du keine Kopie des Richedits anlegst, sondern nur deren Zeiger in das Array legst, kannst du nun per REArray an deine RichEdits ran.
That simple it is.
hRb - Sa 20.12.14 14:05
Danke, ich dachte, dass bei der Zuweisung eine Kopie entsteht und bei Änderung des Focus alles zurück zu speichern sei. (Hätte darauf auch selber kommen können. Sorry für solche Fragen)
OlafSt - So 21.12.14 20:27
Macht nix. Aber ich hätts einfach mal ausprobiert ;) Spätestens im CPU-Fenster sieht man dann, das da nur ein Zeiger kopiert wird und es wird einem schlagartig klar, das man schon seit Jahrzehnten mit Zeigern arbeitet, ohne es zu merken (und ohne ^) ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!