![]() |
Zuweisung von Feldwerten - Optimierung
Hallo,
ich habe mir eine Funktion gebaut, um Werte zuzuweisen
Code:
in dem ich das Feld der Klasse lArtikel mit dem gleichnamigen Feld in einem TJsonobject anbinde.
Verbinde(lArtikel.artikelbez,'artikelbez',(JA.Items[x] as TJsonObject),'');
Was mich stört ist die doppelte Angabe von 'artikelbez', da ja in der Regel immer der gleiche Name angebunden wird. Kann auf die Angabe des zweiten Parameters verzichtet werden? Wie lässt sich das eleganter lösen? |
AW: Zuweisung von Feldwerten - Optimierung
Zitat:
Dann würde ich es so lassen. Ansonsten musst du vermutlich über die RTTI gehen. Es gibt da meines Wissens eine Funktion GetPropInfo. Es muss aber noch einige beachtet werden, damit es funktioniert. Keine Ahnung, ob sich der Aufwand lohnt. |
AW: Zuweisung von Feldwerten - Optimierung
Für ältere Delphi Versionen kann ich klar NEIN sagen. Eine Funktion wie z.B. TArtikel.ArtikelBez.PropName gibt es dort nicht. Ich löse es wie folgt:
Delphi-Quellcode:
Dann kannst du folgendes schreiben:
TArtikel = class(TPersistent)
strict private type TOPNRec = record const ArtikelBez = 'ArtikelBez'; ... end; public const OPN: TOPNRec = (); ... end;
Delphi-Quellcode:
Der klare Vorteil ist, du wirst von der IDE beim Schreiben unterstützt und der Compiler verhindert eventuelle Tippfehler weit verstreut im Sourcecode.
Verbinde(lArtikel.ArtikelBez, TArtikel.OPN.ArtikelBez, (JA.Items[x] as TJsonObject), '');
Bis bald... Thomas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:00 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 by Thomas Breitkreuz