![]() |
Objektinspektor
Gibt es im Objektinspektor eigentlich eine Möglichkeit, Änderungen rückgängig zu machen oder Properties bzw die Gruppen auf ihren Default zurückzusetzen?
|
AW: Objektinspektor
Meines Wissens nicht, das wäre aber ein schöner Feature-Request den ich mir auch manchmal wünschen würde.
Vielleicht hat CnPack/GExperts so eine versteckte Funktion, ich glaube aber nicht. Ich würde vor großen Änderungen vorher ein Backup sichern, aber in der Praxis macht man dass dann doch nicht. |
AW: Objektinspektor
Zitat:
Was im Prinzip auch geht: Umschalten des Formulars auf Textdarstellung und die nicht gewünschten Einstellungen rauslöschen. Das setzt sie auf Default zurück. Änderungen rückgängig machen gibt es nicht, aber dazu hat man eine Sourcecodeverwaltung, insofern ist das nicht ganz so schlimm. |
AW: Objektinspektor
Und manuell geht natürlich auch.
Alt-F12, das Property löschen und wieder Alt+F12 (vorher mit F12 in den Designeditor und natürlich geht es auch über Menü oder Kontextmenü) Jupp, rückgängig zu "alten" Werten via Codeverwaltung oder auch über die __Historie. (oder ohne Speichern schließen und wieder auf :stupid:) Wenn keine Versionsverwaltung, dann schadet es nicht das History-Limit hochzusetzen. History und auch GIT/SVN/HG innerhalb der IDE haben nur einen Nachteil ... OK, Zwei: * Änderungen über mehrere Dateien (auch PAS und DFM getrennt) sind schwer/umständlich "gemeinsam" zu handhaben. * Es gibt ein Limit und standardmäßig nach zu geringer Antahl flegen diese "Backups" weg. * Dank dem neueren Recovery gibt es auch keinen Grund mehr für das schwachsinnige AutoSave ... welches sinnlos die History zumüllt und somit schneller löscht * Und wer vorallem für das blöde AutoSave das "Rückgängig nach Speichern" nicht aktiviert hat, der hat auch nochmal Pech verdient. |
AW: Objektinspektor
Das hört sich einfacher an als es ist. Für Properties, die ihren Default-Wert über ein Attribut der das Keyword
Delphi-Quellcode:
veröffentlichen, könnte man etwas implementieren. Wenn es aber im z.B. die Standardgrößen eines TButtons geht wird es schwieriger. Die werden zwar auch im Create gesetzt, aber nirgendwo sind diese Werte als Default zu erkennen. Das sieht man z.B. daran, dass die im Objektinspektor fett dargestellt werden, wie andere vom Defaultwert abweichende auch.
default
|
AW: Objektinspektor
Jupp, daher auch aus der DFM löschen, die ganze Zeile.
Werden sie danach nicht mehr geladen (überschrieben), dann behalten sie ihren "Default". Aber kam der Default vom Designer (nicht vom Create), dann würde das das auch nichts helfen. Für "Default-Zurücksetzen" müsste sich der Designer oder die Komponenten sich im AfterCreate/Loaded/oderso die "alten" Werte merken. (was er/sie nicht machen) oder man müsste die "ursprüngliche" DFM nochmals laden, im Hintergrund, um damit zu vergleichen. (ähnlich der Form-Vererbung) |
AW: Objektinspektor
Zitat:
Zitat:
Zitat:
|
AW: Objektinspektor
Zitat:
|
AW: Objektinspektor
Zitat:
Ich habe das aber bisher eigentlich noch nie benutzt. |
AW: Objektinspektor
"Revert to inherited" setzt bei Visual Form Inheritance die Einstellungen auf den geerbten Wert zurück - funktioniert aber selbst da nicht immer.
|
AW: Objektinspektor
Zitat:
|
AW: Objektinspektor
Wenn es um das Zurücksetzen auf Standardwerte geht, verstehe ich nicht ganz. Kann man das nicht automatisieren, indem man z.B. einen TButton erzeugt, per
![]() |
AW: Objektinspektor
Zitat:
Ein generelles Feature um einzelne oder alle Properties auf den Defaultwert zurückzusetzen wäre sicher auch für andere Bereiche interessant. Das erfordert aber vermutlich eine konsistente Umsetzung seitens der Entwickler diverser Component Libraries. Erfahrungsgemäß ist die Akzeptanz in dem Bereich aber eher etwas zurückhaltend. |
AW: Objektinspektor
Ja, aber ich hatte nicht verstanden, warum Thomas den Button streamen wollte und warum das ein Hack sein soll, ein böser noch zumal. Man erzeugt den Button im Speicher, liest seine Werte ein und gibt ihn wieder frei, nichts Permanentes also. Was ist daran programmier-moralisch verwerflich?
|
AW: Objektinspektor
Zitat:
Über das "böse" könnte man streiten. |
AW: Objektinspektor
Es gibt auch viele Controls, die nur "sichtbar" richtig arbeiten.
z.B. der ActiveX-Schrott von Adobe lässt sich nicht wirklich ohne ein sichtbares Parent-HWND erzeugen. Und wie bereits erwähnt, gibt es einige Komponenten, welche nur einmal, zur selben Zeit, innerhalb einer Anwendung existieren können/dürfen. Aber ja, im Allgemeinen kann man sich eine unsichtbare Form und darauf die Komponente erzeugen, dann die Werte auslesen und alles wieder freigeben, und wenn es knallt, dann geht es eben nicht. |
AW: Objektinspektor
Mit so einem pragmatischen Ansatz wird man vermutlich sehr weit kommen. Wobei ich grübele, wozu TigerLilly das braucht. Aber irgendetwas wird es sein.
|
AW: Objektinspektor
Zitat:
Am besten bisher funktioniert: Alt-F12 + kopieren des Teils aus der DFM. Properties ändern - ausprobieren. Und wieder Alt-F12 und Paste. |
AW: Objektinspektor
Womöglich würde es zum probieren reichen, das Formular abzuleiten und hier zu testen.
Da könnte mam mit Zitat:
|
AW: Objektinspektor
Zitat:
Sowas wie "Restorepoint speichern" -> "auf Restorepoint zurücksetzen" müsste eigentlich machbar sein. Auf der anderen Seite ist das ja eigentlich nichts anderes als die Historie, die es schon gibt, nur vielleicht mit einem sprechenden Namen. Aber ich habe sowieso wieder keine Zeit dafür. :-( |
AW: Objektinspektor
Eine Ableitung machen und die Properties im constructor setzen?
Oder im FormShow setzen? Dann wären die Änderungen in der History. |
AW: Objektinspektor
.PAS und .DFM findet man in der __History
ebenso .DPR und .DPK und auch sonst alles Anderes, was man im Editor bearbeitet, wie z.B. .H und .MD nur leider nicht die .DPROJ aber dafür seh ich eine .DPROJ.LOCAL :freak: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:42 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