![]() |
D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Zusammen,
jetzt muss ich mal fragen ob das ein D11 Problem ist oder eher DevExpress. Ich habe eine relativ große VCL Anwendung in dieser DevExpress sehr intensiv eingesetzt wird. Das Problem: Auf der Form sind TcxPageControls mit einigen TcpTabSheets. Im Objektinspektor setze ich das Prop. Caption für die TabSheets. Ich speichere die Form, öffne sie und alles ist ok. Ich kompiliere, starte die Anwendung und dann passiert es, dass nicht bei alle aber bei 2-4 TabSheets ist das Caption weg. Ich beende die Anwendung gehe in das Form und im Objektinspektor sehe ich dass das Caption weg ist. Das passiert nicht nur mit einer Form sondern völlig wild durch alle Forms. Die Captions werden ausschließlich über den Objektinspektor zur Entwurfszeit gesetzt und nicht im Code. [Edit] auch passiert es dass zur Entwurfszeit das Caption am Tab angezeigt wird jedoch nicht im Objektinspektor, Siehe Bild. Beim Ausführen der Anwendung fehlt dann das Caption und nur das Image ist zu sehen. Ist diese Problem bekannt oder wieder einmal nur bei mir? Gruß Kostas |
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Hallo,
Delphi 11, Update x? Welche DevExpress Version ist das? Verwendest Du ein Übersetzungstool? Wenn ja, welches? Ich kenne sowas, allerdings bisher nur im Zusammenhang mit einem buggigen Übersetzungstool. |
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Sorry,
Delphi 11 Update 1 DevExpress VCL 22.1.2 ich verwende kein Übersetzungstool. Nur DevExpress VCL. Übrigens, dieses Problem hatte ich mit Delphi 10.4.2 nicht. Ich bin mir nicht sicher ob das Problem sofort mit dem Umstieg auf D11 sich gezeigt hat. Aber das Probleme habe ich mindestens seit D11.1 und DevExpress 21.2.8 Gruß Kostas |
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Nach dem Speichern und Kompilieren steht die Caption aber auch immernoch in der DFM?
Hier merke ich nichts, aber bei uns kommt die Caption aus einem eigenen Property (TextNr) und darüber wird die Caption beim Laden aus der DB geholt. |
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Ich habe zwar kein DevExpress , aber sollte dem Tabsheet eine Action zugewiesen sein, was ich im Screenshot nicht erkennen kann, dann wäre das eine Möglichkeit. Solltest du die Quellen haben, dann schau mal, ob beim Property Caption eine stored Funktion existiert. Falls ja, sollte man dort die Ursache finden.
|
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Zitat:
|
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Zitat:
|
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Ich hab hier grade nur eine 21.2.5 im XE (11.0 aktuell nicht kompiliert) und da ist (noch) nichts zu sehen (stored, default und Co., sowohl normal oder als [Attribut]),
abgesehn von der schon erwähnten Action.
Delphi-Quellcode:
TControl = class(TComponent)
property Caption: TCaption read GetText write SetText stored IsCaptionStored; TcxTabSheet = class(TCustomControl) property Caption; function TControl.IsCaptionStored: Boolean; begin Result := (ActionLink = nil) or not ActionLink.IsCaptionLinked; end; |
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Zitat:
Denn D11.1 scheint es nicht zu sein. Mir ist jedenfalls bisher nichts aufgefallen. Hast du Sonderzeichen in den betroffenen Captions? |
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
In
![]() |
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Zusammen,
zunächst ein gutes und gesundes neues Jahr an alle. Das Problem dass Eigenschaften verloren gehen, ist nicht nur TabSheet sondern auch anderen Elementen. Aktuell in einer TFDQuery verschwindet das property LookupDataSet. Aktueller Fall in einem anderen kleinen Projekt. Auch hier ist DevExpress im Einsatz aber ich glaube das hat damit nichts zu tun! -Öffne das Projekt, kompiliere, starte, alles ok. -Öffne die Form in Delphi, auf der Form ist ein TabControl. Wechsle NUR das Tab, kompiliere, starte, Delphi zeigt exception
Code:
-schaue im Object Inspektor, prop LookupDataSet ist nicht gesetzt. Öffne das .dfm in Delphi als Text fehlt es hier.
"Lookup-Information für Feld 'RollenText' ist unvollständig." Manchmal reciht es auch NUR die Form zu öffnen ohne irgend eine Änderung und das Prop verschwindet.
-Beende das Projekt ohne speichern. -Öffne das .dfm in NotePad++ das Prop ist gesetzt. -Starte Delphi, öffne diesmal die Form nicht und kompiliere das gesamte Projekt neu, alles ok. Das macht mir große sorgen wenn ich mich nicht darauf verlassen kann. Was kommt als nächstens. [Edit] Jetzt ist mir folgendes aufgefallen: Das DataSet befindet sich nicht auf der Form sondern auf ein DataModul. Wenn ich das DataModul zuerst öffne und dann die Form, bleibt das Prop erhalten. Auf der Form sind jedoch weitere Elemente die auf Elemente des gleichen DataModuls zugreifen die eben nicht verschwinden. Es ist also nicht nachvollziehbar warum genau dieses prop verschwindet! Gruß Kostas |
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Hallo Zusammen,
das Problem ist noch viel gravierender. Jetzt auch bei FDQuery. Aktuell hatte ich den Fall dass in einer FDQuery aus einem, LookUpField das LookupKeyField rausgeflogen ist. Ich habe die Form NUR geöffnet, einen Reiter gewechselt und neu kompiliert. Ausführen kommt dann natürlich eine Exception. Ich muss jetzt jede Form über GIT vergleichen was sich genau geändert hat. Das ist wirklich nicht mehr lustig. Hat sonst niemand dieses Problem? Gruß Kostas |
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Öffne mal das TDM1 im Designer
und dann schau, ob alles da bleibt. |
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn ich das TDM1 über den Designer als Text(nicht Form) öffne, fehlen die Eigenschaften. Das .dfm File wird also neu geschrieben und dabei werden Eigenschaften völlig Wild entfernt. Derzeit ist es mir NUR aufgefallen in TabPages und FDQuerys. Wobei ich den FDQuery Fall jetzt neu dazu bekommen habe. Ich muss jetzt viel öfters einchecken damit ich die .dfms kontrollieren kann. Gerade eben schon wieder.
|
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Ähhhh wie jetzt, DM1 ist die "aktuelle" Form, also jene, in welcher auch die Property verschwinden?
Klang mehr nach einem DatenModul. |
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Sorry, beides. Es ist nicht so dass nur der Eigenschaftswert fehlt, es fehlt die Eigenschaft samt Wert aus der .dfm Dabei.
Ich habe das in Forms und auch in Datamoduls. Ich kann kein Muster erkennen unter welchen Umständen das passiert. Es ist auch nicht so dass ich das Control anfassen muss. Ich öffne die Form oder das Datamodul und bei der nächsten Änderung wird die Form gespeichert. Dabei verschwinden die Eigenschaften. Interessant ist folgendes: Ich habe das Projekt heute mehrfach kompiliert. Bei einem Kompiliervorgang bei dem ich an der Form im Bild nichts verändert hatte ist mit zur Laufzeit aufgefallen dass das TabPage kein Caption hat. Ich beende die Anwendung und schaue mit den Tab an. Das Caption am Tab ist zu sehen wie im Bild. Dann schaue ich im Objektinspektor und sehe dass das Caption fehlt. Im Designer wechsle ich auf Textmodus, suche das Control und sehe dass die Eigenschaft Caption fehlt. Ich trage im Designer "Details" ein und speichere die Form. Wechsle wieder in Textmodus und die Eigenschaft samt Wert ist da. Ich habe in D11.1 CnPack installiert, ansonsten keine IDE Erweiterungen. |
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Bei unseren Datenmodulen sind die auch nochmal als DesigntimePackage geladen (um damit auch im Designer eine Datenverbindung zu haben)
Da gab es früher auch öfters Probleme, wenn der Name nicht aufgelöst werden konnte. Daher hatten Viele dann immer das/die Datenmodule geöffnet (wobei auch das nicht immer zu 100% half) Inzwischen hab ich mich in die Namensauflösung reingehängt und wenn der ModulName kommt, dann gebe ich explizit das interne Datenmodul, anstatt aus der eventuell geöffneten Unit. Das Datenmodul kann man dann auch in Ruhe bearbeiten und die Unit auch schließen (wenn dort eine offene Form am Datenmodul oder eine FormAbleitung dran hängt, bekommt man diese Units nicht mehr geschlossen) Im Designer ist es nicht ganz Spaßig, aber man kann sich notfalls auch via Event über ein DesignTimePackage oder mit dem Debugger (die IDE debuggen) in den TReader, bzw. hier den TWriter reinhängen und schauen was der macht. |
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
:-) Ich habe nicht alles verstanden was du geschrieben hast, aber derart gravierende Probleme hatte ich bisher noch nie. Es ist absolut gefährlich wenn man sich nicht darauf verlassen kann was man zur Designzeit eingestellt hat. Ich trau mich kaum eine Form zu ändern. Das kann es doch nicht sein. Für mich ist das ein absolutes Alarmzeichen. Dieses Projekt hat über 300 Forms. Ich kann unmöglich anzweifeln ob die Eigenschaften die zur Designzeit gesetzt wurden, noch gesetzt sind, und auf keinen Fall ist es tolerierbar wenn Eigenschaften in FDQuerys verloren gehen. Bisher hatte ich nur einen Fall. Wenn ich mir vorstelle, eine Master-Detail Beziehung würde verloren gehen, das merkst man halt nicht beim Kompilieren sondern erst im produktiven Umfeld beim Kunden. All die Jahre habe ich mit Delphi in einer VMWare-Workstation gearbeitet mit Desktop OS. Seit Delphi 10 haben wir umgestellt auf VMWare Esxi und in den VMs laufen Windows 2019 Datacenter Server. Das Projekt wurde vor etwa zwei Jahre auf den Server verschoben und lief unter Delphi 10 problemfrei. Auch zu Anfangs lief es unter Delphi 11 problemfrei. Seit wann genau die Probleme da sind konnte ich nicht ausmachen. Ich mache mir wirklich große sorgen. An die Server kann es fast nicht liegen und Anwenderfehler können es fast auch nicht sein da wie gesagt NICHT der Eigenschaftswert fehlt sondern die gesamte Eigenschaft samt Wert. Wenn die Server ein Problem hätten, dann würde vielleicht eine Änderung nicht gespeichert werden. Aber was kann die Ursache sein dass Eigenschaften verschwinden? Aus meiner Sicht nur die IDE.
|
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Zitat:
Wenn Property praktisch immer gesetzt sein müsen, dann kann man beim / nach dem Laden auch eine Prüfung in die Komponente einbauen. Eine mögliche Ursache : wenn Namen/Komponenten nicht aufgelöst/ausgelesen/gefunden werden können und dann beim Speichern der Name praktisch leer ist. Wobei ich vom XE noch kenne, dass Namen beim Speichern OK sind, ebenso manchmal beim Editieren im PropertyEditor, aber wenn der Fokus nicht im Property liegt, dann sieht es leer aus ... auch bissl blöd, wenn man ständig denkt es könnte leer sein und muß dann immer erstmal genauer reingucken |
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Hey,
sowas wie Caption hat ja keine Referenz zu einem Datenmodul. Verwendest du ein Übersetzungstool? Ich hatte den gleichen Fehler als ich in unserem Übersetzungtools die automatisch aktive Sprache neu eingestellt habe. Anstatt, wie zu erwarten wäre, in Fällen in denen die aktive Sprache leer ist, weiter die default Sprache zu verwenden, hat es einfach die Captions/Texte/Listen alle ausgekippt. Delphi ist dann so nett die Größe der DFM zu optimieren und schmeißt die leeren Properties ganz aus der DFM. Deswegen, niemals ohne Versionsveraltung programmiern! Es gibt schon genug andere Gründe sich die Haare auszureißen. |
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Zitat:
Übrigens, die Captions wurden bisher NUR vom TcxPageControl sporadisch entfernt. Ein Caption von anderen Controls ist mir noch nicht aufgefallen. Bisher hatte ich NUR einen Fall bei dem ein FireDac Prop. verschwunden ist. Theoretisch könnte das auch zufällig andere Ursachen gehabt haben. Ich habe es automatisch in dieselbe Schublade gesteckt wie die Captions da wieder in das DFM das Property und der Wert gefehlt haben. Jetzt hast du mir ein interessanten Hinweis gegeben dass Delphi das Caption entsorgt wenn es keinen Wert hat. Das habe ich soeben ausprobiert und es ist wirklich so. Somit kann ich nicht mehr ausschließen dass ich selbst versehentlich ohne es zu bemerken den Feldinhalt gelöscht habe. Was würde mich sehr beruhigen! Gruß Kostas |
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Zitat:
|
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Es wäre mir sehr recht wenn ich das Problem wäre und nicht Delphi! :-)
|
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Dass es Delphi ist, halte ich für sehr, sehr unwahrscheinlich, sonst hätte wir alle das selbe Problem. Entweder liegt es an der cxXXX Komponente selber oder ein Addon oder sowas verursacht diesen Effekt.
|
AW: D11 Caption bei TcxTabSheet verschwindet beim kompilieren.
Vermutlich ist das Problem wieder einmal vor dem Monitor. Ich wusste nicht dass Delphi die Property ohne Wert (default value) entsorgt. Deshalb habe ich angenommen, hier liegt ein Problem vor. Speziell das verschwinden der Captions bei TabPage ist doch relativ häufig passiert. Dass ich jedes mal versehentlich den Wert entfernt habe ohne es zu bemerken, hört sich komisch an aber ausschließen kann ich es nicht. Ich beobachte es und betrachte mich als geohrfeigt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:53 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