![]() |
Vergleichbares mit array of const?
Hi!
Ich würde gerne bei einem Array of const den Inhalt (also was darin gespeichert ist) ändern. Praktisch so was in der Art:
Delphi-Quellcode:
doch der Compiler sagt mir das ich bei einem array of const nichts zuweisen kann.
for i:=Low(Args) to High(args) do
begin // Argumente austauschen... case Args[i].VChar of F_TITLE: begin Args[i].VString:=Get_Info(TI_TITLE); end; F_FILE_NAME: begin end; end; end; // args = array of const Gibt es etwas vergleichbaren was ich anstatt dessen nehmen kann? ps.: ich nehme Lazarus. |
Re: Vergleichbares mit array of const?
Es ginge schon, über Umwege, aber das würde ich keinem raten.
Man müßte z.B. den VType anpassen, eventuell alte Inhalte freigeben und kann erst dann was zuweisen und selbst dann ist noch nichtmal sichergestellt, ob die neuen werte auch ordnungsgemäß freigegeben werden. Die Lösung: Man baue ein neues Array auf. |
Re: Vergleichbares mit array of const?
Aber was für eins? eine variable vom Typ array of const kann man ja nicht definieren :(
Wie sähe denn der Umweg aus? |
Re: Vergleichbares mit array of const?
Zitat:
Ich hatte beim letzen Versuch schnell wieder aufgegeben, da es abundzu zu Problemen und auch Exceptions gekommen ist. Denn das Ändern ist nicht das Problem, aber das geänderte Array wird nicht mehr ordnungsgemäß freigegeben, da nicht auf eine Veränderung reagiert wird. |
Re: Vergleichbares mit array of const?
wie machst du das mit dem ändern?
weil: ich brauche unbedingt ein array of const :) |
Re: Vergleichbares mit array of const?
Nimm ein statisches array[0..x] of TVarRec oder ein dynamisches array of TVarRec und befüll es.
Dieses kannst du an einen array of const-Parameter übergeben.
Delphi-Quellcode:
var x: array[0..0] of TVarRec;
x[0].VType := vtWideString; WideString(x[0].VWideString) := 'abc'; ... // benutzen WideString(x[0].VWideString) := ''; // freigeben |
Re: Vergleichbares mit array of const?
![]() |
Re: Vergleichbares mit array of const?
Ich hatte mir mal damit geholfen, das Array Of Const in die Tonne zu treten, nachdem ich es in ein Variant-Array kopiert habe. Danach war die Welt wieder in Ordnung. Jedenfalls für mich.
Teekeks, wieso muss es unbedingt ein Array Of Const sein? Meistens führt ja mehr als ein Weg zum Ziel. |
Re: Vergleichbares mit array of const?
Nunja, ich wollte die Format-Funktion ein bisschen erweitern (also als Parameter bestimmte Konstanten verwenden und diese dann ersetzen durch verschiedene Werte...)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 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