![]() |
DevExpress DB Editor Komponente als einfachen Editor nutzen
Hallo,
ich muss ein Projekt von alten Woll2Woll Komponenten auf DevExpress Komponenten umbauen. Jetzt stehe ich vor dem Problem, dass die ww Komponenten, wenn sie keine DataSource und DataField besitzen, wie einfache Komponenten fungieren. Bei den DevExpress Editoren (ComboBox, Edit, usw.) gibt es diese Möglichkeit nicht und Eingaben werden nicht akzeptiert. Auf Grund der Größe des Projekts habe ich ein Tool geschrieben, dass mir alle ww Komponenten mit der richtigen cxDB... bzw. cx... ersetzt. Jedoch ist dies nicht in allen Fällen möglich, da die genutzten ww Komponenten je nach Modus unterschiedlich genutzt werden. Auf Grund der Größe des Projekts (> 500 Formulare) ist es auch schwierig alle Stellen manuell zu bearbeiten. Unter Umständen kennt sich jemand von euch mit den DevExpress Kompos aus und kennt eine Möglichkeit die cxDBEditoren als "hybriden" zu verwenden. Bei eigenen Versuchen die Komponenten anzupassen, bin ich leider an dem Umfang der nötigen Änderungen gescheitert. Gruß Johannes |
AW: DevExpress DB Editor Komponente als einfachen Editor nutzen
Mach bloß nicht den Fehler, dir eigene Komponenten abzuleiten, oder im Quelltext rumzufriemeln.
Du kannst die Editoren an ein Memdataset anschließen, dann sollte das gehen. Bringt nur nicht viel, denn im Code musst du eh rumfummeln. Es bleibt Dir wohl nichts anderes übrig. Meist geht das aber schneller, als man denkt. |
AW: DevExpress DB Editor Komponente als einfachen Editor nutzen
geht das nicht?
wenn die alte Komponente ein Datasource hat, dann verwende zb. cxDBEdit ansonsten cxEdit? Mit Mem-Datasets arbeiten halte ich für keine gute Idee. Bei dem Umfang den du beschreibst, brauchst du davon Unmengen. Ableitungen/Erweiterungen würde ich mit ClassHelpers überdenken, sofern das deine Delphi-Version unterstützt. Grundsätzlich haben Automatismen das Problem, auch das zu "Übersetzen" was eigentlich bleiben sollte (Search&Replace vs. Refaktoring) Auch wenn es unmöglich erscheint, würde ich eher alles Manuell umsetzen. Zumal, wenn du alle DevExpress Komponenten hast, auch ein Layouter (tdxLayoutControl) dabei ist, mit dem die Felder wesentlich besser und leichter zu arrangieren sind. vg Mathias |
AW: DevExpress DB Editor Komponente als einfachen Editor nutzen
Zu mindestens kann man, wie beschrieben, automatisiert an Stelle von "cxDBEdit" die Komponente "cxEdit" setzen.
Was da noch so an Woll2Woll-Kompo´s rumschwirrt kann ich nur erahnen, aber ich denke auch, dass Du um einen Anteil an Handarbeit nicht drum rum kommst. Aber wenn man sich eine Umsetztabelle für die Komponenten schafft (nur die unterschiedlichen Properties in den DFM können Probleme machen) könnte ein großer Teil damit erschlagen werden. |
AW: DevExpress DB Editor Komponente als einfachen Editor nutzen
Zitat:
|
AW: DevExpress DB Editor Komponente als einfachen Editor nutzen
Ich habe ein Tool geschrieben, mit dem ich alle pas und dfm durchforste und nach den wws Suche. Mit Hilfe einer "Parsing" Tabelle versuche ich dann die Properties und Ereignisse passend zu setzen. Funktioniert auch recht zuverlässig, aber das Problem, wie Dejan Vu geschrieben hat, sind die zuweisungen zur Laufzeit, die zum Teil auch mit einem Cast gemacht werden. Da kann ich lange die pas nach dem Namen der Komponenten und
Delphi-Quellcode:
suchen :-D
Kompo.DataSource :=
Es läuft also einfach auf Handarbeit hinaus... :coder2: |
AW: DevExpress DB Editor Komponente als einfachen Editor nutzen
Leider ja. Denn die DevExpress Komponenten verhalten sich hier anders und sind keine Hybriden, aber wem erzähl ich das...
|
AW: DevExpress DB Editor Komponente als einfachen Editor nutzen
Zitat:
|
AW: DevExpress DB Editor Komponente als einfachen Editor nutzen
Zitat:
"Ersetze alle TwwFuddelEdit mit TcxDBFuddelEdit, aber nur dann, wenn TwwFuddelEdit eine nicht leere Property 'DataSource' hat." |
AW: DevExpress DB Editor Komponente als einfachen Editor nutzen
Zitat:
Zitat:
![]() |
AW: DevExpress DB Editor Komponente als einfachen Editor nutzen
Ah. Praktisch. Ich denke auch, das hier zuviel Automatismus die Angelegenheit nur schlimmer macht. Hier muss die Funktionalität ja angepasst werden.
Ich kann mir vorstellen für jede Componente einen Wrapper zu bauen, der die Properties der WW-Controls exportiert und intern entweder auf ein TcxEdit oder TcxDBEdit mappt, je nachdem, ob die Datasource-Eigenschaft gesetzt ist, oder nicht. |
AW: DevExpress DB Editor Komponente als einfachen Editor nutzen
Dejan Vu hat schon recht, ich prüfe wirklich ob DataSource gesetzt ist. GExperts kann zwar das ersetzen erledigen, aber nicht unterscheiden. Ausserdem habe ich festgestellt, dass bei dieser Projektgröße GExperts bzw. Delphi abstürzt, da der Speicher aus dem Ruder läuft.:wall:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:27 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