Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   DevExpress DB Editor Komponente als einfachen Editor nutzen (https://www.delphipraxis.net/181414-devexpress-db-editor-komponente-als-einfachen-editor-nutzen.html)

jojo-sp 12. Aug 2014 11:59

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

Dejan Vu 12. Aug 2014 12:31

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.

Mschmidt 12. Aug 2014 16:04

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

TRomano 12. Aug 2014 16:14

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.

Dejan Vu 12. Aug 2014 16:27

AW: DevExpress DB Editor Komponente als einfachen Editor nutzen
 
Zitat:

Zitat von Mschmidt (Beitrag 1268489)
geht das nicht?
wenn die alte Komponente ein Datasource hat, dann verwende zb. cxDBEdit ansonsten cxEdit?

Er schrieb, das das nicht so einfach ist und ich befürchte, das ist zur Laufzeit so, das die Datasource mal weg ist und mal nicht. Wenn nicht, würde ich das auch so machen (kleinen Parser schreiben, das das checkt)

jojo-sp 13. Aug 2014 09:19

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:
Kompo.DataSource :=
suchen :-D
Es läuft also einfach auf Handarbeit hinaus... :coder2:

Dejan Vu 13. Aug 2014 10:25

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...

vagtler 13. Aug 2014 10:53

AW: DevExpress DB Editor Komponente als einfachen Editor nutzen
 
Zitat:

Zitat von jojo-sp (Beitrag 1268530)
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. [...]

Das können z.B. die GExperts weitestgehend von Haus aus.

Dejan Vu 13. Aug 2014 12:31

AW: DevExpress DB Editor Komponente als einfachen Editor nutzen
 
Zitat:

Zitat von vagtler (Beitrag 1268543)
Das können z.B. die GExperts weitestgehend von Haus aus.

Das würde mich jetzt mal interessieren, wie das geht:
"Ersetze alle TwwFuddelEdit mit TcxDBFuddelEdit, aber nur dann, wenn TwwFuddelEdit eine nicht leere Property 'DataSource' hat."

vagtler 13. Aug 2014 15:24

AW: DevExpress DB Editor Komponente als einfachen Editor nutzen
 
Zitat:

Zitat von Dejan Vu (Beitrag 1268561)
[...] "Ersetze alle TwwFuddelEdit mit TcxDBFuddelEdit, aber nur dann, wenn TwwFuddelEdit eine nicht leere Property 'DataSource' hat."

So natürlich nicht. Aber die Anforderung liest sich für mich anders:
Zitat:

Zitat von jojo-sp (Beitrag 1268530)
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. [...]

Siehe http://www.gexperts.org/tour/index.h...omponents.html


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:12 Uhr.
Seite 1 von 2  1 2      

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