Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wie kann man Komponenten austauschen? Dringend! (https://www.delphipraxis.net/74234-wie-kann-man-komponenten-austauschen-dringend.html)

polondo 31. Jul 2006 07:57


Wie kann man Komponenten austauschen? Dringend!
 
Hallo,

Ich habe ein Programm das dringend mit Unicode Komponenten umgeschrieben werden müsste. Das heißt das ich Labels beispielsweise mit den dazugehörigen Unicode-Label-Komponenten austausche. Wie ist es nun möglich alle Labels in meinem Programm mit wenig Aufwand auszutauschen ohne
das ich jedes Label mit der zugehörigen Unicode-Variante ersetze. SO würde ich nämlich eine lange Zeit nur mit Kopieren und Einsetzen verbringen.

Weiß jemand Rat?

Schonmal Danke für alle Antworten
mfg R.

uligerhardt 31. Jul 2006 08:05

Re: Wie kann man Komponenten austauschen? Dringend!
 
Du könntest dir GExperts installieren und "Replace Components" benutzen. Dazu müsstest du allerdings jede Form öffnen, dann z.B. alle TLabels markieren und nach TTntLabel (oder so) umwandeln lassen.
Schneller geht's vermutlich, wenn du mit einem Editor, der Suchen und Ersetzen über mehrere Dateien hinweg kann, einfach die Typnamen austauschst. Danach musst du auch nochmal alle betroffenen Forms in der IDE öffnen, damit die Properties bereinigt werden.

HTH, Uli.

Bernhard Geyer 31. Jul 2006 08:07

Re: Wie kann man Komponenten austauschen? Dringend!
 
Du wirst einige Zeit damit verbringen, da ja auch deine Methoden/Funktionen alle auf Unicode-Fähigkeit geändert werden müssen.

Aber für die Controls machst Du folgendes:

1, Formular öffnen
2, Auf Textansicht umschalten
3, Klassennamen durch neuen ersetzen
4, Umschalten auf Formularansicht
5, Fehler ignorieren
6, Speichern und fehlerhafte Typdeklaration von Delphi korrigieren lassen.

Du kannst auch meinen Artikel "We are a World" aus der Ausgabe 5.2003 der Zeitschrift "Der Entwickler" mal durchlesen um einen Infos zur Unicode-Umstellung zu bekommen.

Welche Controls willst Du den nehmen?

polondo 31. Jul 2006 08:11

Re: Wie kann man Komponenten austauschen? Dringend!
 
danke für die antworten. ich werde die tntcontrols nehmen. sind einfach zu bedienen und bieten viele möglichkeiten.

polondo 31. Jul 2006 08:14

Re: Wie kann man Komponenten austauschen? Dringend!
 
Ich hatte auch schon versucht einfach die Klasse zu ändern. Allerdings gibt er mir die Fehlermeldung das er das bereinigen möchte und lässt sich bei einem "Nein" nicht mehr deaktivieren. Das heißt ohne Bereinigung gibt der einfach keine Ruhe mehr. Er schreibts einfach wieder in Tlabel um.

Ralf Kaiser 31. Jul 2006 08:20

Re: Wie kann man Komponenten austauschen? Dringend!
 
Zitat:

Zitat von uligerhardt
Du könntest dir GExperts installieren und "Replace Components" benutzen. Dazu müsstest du allerdings jede Form öffnen, dann z.B. alle TLabels markieren und nach TTntLabel (oder so) umwandeln lassen.

Mit den neueren Versionen von GExperts ist es nicht mehr nötig jedes Formular von Hand zu öffnen! Man kann jetzt auch alle (z.B.) TLabel im gesamten Projekt gegen (z.B.) TTntLabel "auf Knopfdruck" austauschen. GExpert öffnet selbst alle betroffenen Formulare und führt die Ersetzung aus.

Ciao,
Ralf

Bernhard Geyer 31. Jul 2006 08:25

Re: Wie kann man Komponenten austauschen? Dringend!
 
Zitat:

Zitat von polondo
Ich hatte auch schon versucht einfach die Klasse zu ändern. Allerdings gibt er mir die Fehlermeldung das er das bereinigen möchte und lässt sich bei einem "Nein" nicht mehr deaktivieren. Das heißt ohne Bereinigung gibt der einfach keine Ruhe mehr. Er schreibts einfach wieder in Tlabel um.

Du mußt es im DFM ändern. Die Pas-Datei wird von der DFM aus korrigiert und nicht umgekehrt.

Ich hatte die TNT's auch schon mal im Test. Aber aufgrund fehlenden Unicodesupport unter Win9x/ME (wird zwar immer irrelevanter) und der Tatsache das sie nichts mehr bieten als die "Normalen" Borland-Controls habe ich dann die ElPack-Controls genommen und bin damit eigenlich zufrieden.


Ach ja. Bei mir hatte GExpert (bei älteren Version) das Problem das es nicht erkannt hatte es den Wert eines Ansi-String-Property einfach auf einen Widestring-Property umsetzen darf.

Ralf Kaiser 31. Jul 2006 08:54

Re: Wie kann man Komponenten austauschen? Dringend!
 
Zitat:

Zitat von Bernhard Geyer
Ach ja. Bei mir hatte GExpert (bei älteren Version) das Problem das es nicht erkannt hatte es den Wert eines Ansi-String-Property einfach auf einen Widestring-Property umsetzen darf.

Bei neueren GExperts-Versionen kann man Properties von Quelle nach Ziel mappen. Wenn man z.B. TEdits gegen TMemos austausen will kann man festlegen, daß TEdit.Text nach TMemo.Lines.Text umgesetzt werden soll. Diese Einstellungen lassen sich global speichern, man muss sie also nur einmal definieren.

Ciao,
Ralf

polondo 31. Jul 2006 09:31

Re: Wie kann man Komponenten austauschen? Dringend!
 
Danke erstmal für alle Antworten!!!

Ich habe mir mal den Tipp mit den Gexperts zu Herzen genommen und muss sagen das das wunderbar geklappt hat. Danke ;O)
Habs auch direkt getestet und scheint so als ob ich nun unicode support in meiner anwendung habe ohne irgendwelche speziellen Optionen in Windows umzustellen.



mfg R.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:06 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