![]() |
Record-Struktur zur Laufzeit ändern?
Hi!
Eine Frage: Kann man die Struktur eines Records zur Laufzeit ändern? Wenn ja, wie ist dies möglich? Thanx and Greetz alcaeus |
Re: Record-Struktur zur Laufzeit ändern?
Hast du mich nicht das eben im ICQ gefragt?
Nein, geht nicht. Das einzigeste wäre ein variant Record, aber da sind geht es nur mit den Datentypen. |
Re: Record-Struktur zur Laufzeit ändern?
Hi Luckie,
nein, ich habe die Frage nicht im ICQ gestellt. Danke für deine Antwort. Greetz alcaeus |
Re: Record-Struktur zur Laufzeit ändern?
Moin alcaeus,
was hast Du denn vor? |
Re: Record-Struktur zur Laufzeit ändern?
Hi Christian,
zum Beispiel Variablen hinzufügen, entfernen, typen ändern etc. Gibts vielleicht eine Möglichkeit, dies mit einem Array unbestimmten Typs zu lösen? Greetz alcaeus |
Re: Record-Struktur zur Laufzeit ändern?
Mit einem Variant Array innerhalb des Records könnte man es mal versuchen. Ist aber mehr so ein Schuss ins Blaue von mir. Aber für "sauber" würde ich das nicht halten, das sagt mir jetzt so mein Gefühl. Records sind nun mal statische Datentypen und man sollte sie nicht vergewalltigen.
|
Re: Record-Struktur zur Laufzeit ändern?
Zitat:
Es ist doch dann eigentlich unmöglich darauf uzugreifen. Du kannst dir wohl höchstens ein bissl Arbeitsspeicher reservieren und dann mit Pointern arbeiten, wellche du z.B. in 'nen Array of Pointer verwaltest, oder so ... Zitat:
|
Re: Record-Struktur zur Laufzeit ändern?
Ein Grund warum es eigentlich nicht gehen kann: Es wird Speicher für den Record alloziiert. Nur, wie viel soll alloziiert werden, wenn die Größe des Records nicht konstant ist?
|
Re: Record-Struktur zur Laufzeit ändern?
Das stimmt nur teilweise. Ein Record kann durchaus eine nicht definierte Datensatzgröße haben, z.B. wenn er normale Strings enthält. In diesem Fall enthält der Record-Datensatz einen Pointer auf den String an Stelle der String-Characters.
Eine Art Record, der zur Laufzeit geändert werden kann, ist das TIniFile (noch besser TMemIniFile). Wenn Rechenzeit nicht das Riesenproblem ist, dann kann man ein TMemIniFile ungefähr wie einen variablen Record verwenden (Vorteil: Wenn UpdateFile; bei Programmende ausgeführt wird, ist die aktuelle "Record"struktur (und die Werte) sogar automatisch speicherresident. Gruß Heiner |
Re: Record-Struktur zur Laufzeit ändern?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz