AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Vergleichbares mit array of const?

Offene Frage von "Teekeks"
Ein Thema von Teekeks · begonnen am 24. Mär 2010 · letzter Beitrag vom 25. Mär 2010
Antwort Antwort
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#1

Vergleichbares mit array of const?

  Alt 24. Mär 2010, 21:05
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:
  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
doch der Compiler sagt mir das ich bei einem array of const nichts zuweisen kann.
Gibt es etwas vergleichbaren was ich anstatt dessen nehmen kann?

ps.: ich nehme Lazarus.
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: Vergleichbares mit array of const?

  Alt 24. Mär 2010, 21:44
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.
$2B or not $2B
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Vergleichbares mit array of const?

  Alt 24. Mär 2010, 21:50
Aber was für eins? eine variable vom Typ array of const kann man ja nicht definieren
Wie sähe denn der Umweg aus?
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: Vergleichbares mit array of const?

  Alt 24. Mär 2010, 21:59
Zitat von Teekeks:
Wie sähe denn der Umweg aus?
Ganz im Ernst?
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.
$2B or not $2B
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Vergleichbares mit array of const?

  Alt 24. Mär 2010, 22:01
wie machst du das mit dem ändern?
weil: ich brauche unbedingt ein array of const
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

Re: Vergleichbares mit array of const?

  Alt 24. Mär 2010, 22:06
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
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#7

Re: Vergleichbares mit array of const?

  Alt 24. Mär 2010, 22:09
Empfehlendswert zu lesen für dieses Problem, vielleicht hilft der Artikel ja.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Vergleichbares mit array of const?

  Alt 25. Mär 2010, 07:44
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.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#9

Re: Vergleichbares mit array of const?

  Alt 25. Mär 2010, 16:07
Nunja, ich wollte die Format-Funktion ein bisschen erweitern (also als Parameter bestimmte Konstanten verwenden und diese dann ersetzen durch verschiedene Werte...)
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:59 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