![]() |
wie Konstanten optimal verwalten
Hallo,
ich zerbreche mir gerade den Kopf, wie ich meine Feldnamen optimal verwalten kann. Ich habe momentan eine Unit mit Konstanten für Feldnamen.
Delphi-Quellcode:
Somit habe ich jetzt im Code irgendwo z.B. 20 mal FieldByName(fn_bez).AsString; stehen.
Const
fn_Bez = 'bezeichnung'; fn_name1 = 'name1'; ... In die Exe wird dann 20 mal 'bezeichnung' eingetragen, da er ja Konstanten währen des Compilierens zieht. Wie kann man das so optimieren, dass ich die Bezeichner nur einmal im Code habe und dann etwa:
Delphi-Quellcode:
Ich dachte schon dran, auf Variablen umzustellen. Aber vielleicht gibt es noch eine saubere Lösung, ohne den Überblick zu verlieren.
FieldByName(LoadFieldBez(@eine_Adresse)).AsString;
Danke, Frank |
Re: wie Konstanten optimal verwalten
Hallo Frank,
hast du schon resourcestring anstelle von const erwogen? Grüße vom marabu |
Re: wie Konstanten optimal verwalten
Zitat:
Frank |
Re: wie Konstanten optimal verwalten
Also ich denke nicht, daß es da 'ne bessere Lösung gibt.
Und ResourceString ja nur doppelt so lang, da es als WideString (Unicode) gespeichert wird, außerdem wird dann jedesmal LoadFromResource und eine WideToAnsi-Konvertierung durchgeführt, wenn irgendwo der benötigte Wert vorkommt. Wenn du statt Konstanten auf Variablen umsteigst, dann liegt das zwar nur einmal in der Exe rum, aber du hast dann die ganzen Feldnamen auch noch ständig im RAM rumliegen.
Delphi-Quellcode:
Var
fn_Bez: String = 'bezeichnung'; fn_name1: String = 'name1'; ... Aber eigentlich war ich der Meinung, das der Delphi-Compiler die String-Konstanten besser verwaltet und wenn eine solche Konstannte mehrfach vorkommt diese auch nur einmal in der Exe abgespeichert wird. |
Re: wie Konstanten optimal verwalten
Frank, ein word pro character wird zunehmend Standard - du solltest dich daran nicht so stören. Außerdem verbessert sich deine Bilanz doch immer noch deutlich. Wer weiß welche Einsparpotentiale du noch entdeckst, wenn du weiter suchst.
Freundliche Grüße marabu |
Re: wie Konstanten optimal verwalten
Ich weiss zwar noch nicht sicher, wie ich weiter verfahre. Aber trotzden schon mal meinen Dank an marabu und himitsu für die Hilfe.
Cu, Frank |
Re: wie Konstanten optimal verwalten
Zitat:
|
Re: wie Konstanten optimal verwalten
sag ich doch ... selbst bei doppelter Definition sollte es dann nur einmal drin sein :)
Delphi-Quellcode:
Const
fn_Bez1 = 'bezeichnung'; fn_Bez2 = 'bezeichnung'; ... |
Re: wie Konstanten optimal verwalten
Zitat:
Ich habe ein Mini - Prog erzeugt mit einer Konstante:
Delphi-Quellcode:
Diese habe ich 3 mal im Code eingebunden.
Const
sTest = 'Schraps hat den Hut verloren...'; In der EXE kann ich diese genau 3 mal finden. Vielleicht ist ja Delphi 2005 schon intelligenter und Delphi7 hat noch Blödsinn produziert... Cu, Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 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