Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Fenstertitel verschwindet (https://www.delphipraxis.net/195735-fenstertitel-verschwindet.html)

MikeSP2 21. Mär 2018 07:08

Fenstertitel verschwindet
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo an alle,

seit einiger Zeit suche ich verzweifelt wie ich die Titelleiste meines Hauptfensters wieder dargestellt bekomme.
Folgendes Phänomen habe ich:

Die Anwendung wurde mit RAD-Studio XE6 unter Win7 begonnen. Da war alles in Ordung.
Vor ein paar Monaten wurde auf Win 10 und RAD-Studio 10.2 umgestellt.
Die Anwendung hat soweit funktioniert bis auf das der Titel des Hauptfensters verschwindet.
Im Anhang habe ich zwei Bilder. Einmal in der Entwicklungsumgebung und einmal wenn die Anwendung läuft.

Ich habe schon mit Manifest etc. und anderen Rahmen für das Fenster experimentiert aber leider ohne Erfolg.
Der Titel verschwindet.

Erstelle ich in meine Entwicklungsumgebung ein Neues Projekt so habe ich dieses Verhalten nicht.

Was ist mein Fehler?:gruebel:
Wie kann ich das in meinem Altprojekt beheben?
Bin für jede Anregung dankbar..
Gruß
Mike

KodeZwerg 21. Mär 2018 07:28

AW: Fenstertitel verschwindet
 
Steht in Deiner .dpr Datei ein "Application.MainFormOnTaskbar := True;" ?
Ohhh ne das ist es nicht.

Hilfreich wäre mal in der .dfm Datei nach "BorderStyle" zu schauen bzw im Objekt Inspektor.
Wenn da so etwas wie "BorderStyle = bsNone" steht, gibts keine Titelleiste.

Eventuell liegt es auch an der .dproj Datei, benenne diese mal um (.bak) und lade danach das Projekt wieder rein, kann sein das da irgendetwas altes drinnen steht.

Der schöne Günther 21. Mär 2018 08:08

AW: Fenstertitel verschwindet
 
Was passiert denn wenn du zur Laufzeit (z.B. durch Knopfdruck) einmal bei deinem Formular sagst
Delphi-Quellcode:
Caption := 'Test 123';
?

MikeSP2 21. Mär 2018 09:07

AW: Fenstertitel verschwindet
 
Hallo KodeZwerg,

das mit dem Borderstyle habe ich schon alles probiert. Der Style steht auf bsSizeable.
Die .dproj habe ich umbenannt und das Projekt neu über die .dpr Datei gestartet.
Ergebniss wie ich schon gepostet habe.

Hallo Günther,
deinen Vorschlag habe ich auch schon ausprobiert. Aber auch hier verhält sich das Formular unkooperativ.

Was ich mir vorstellen könnte wäre noch das Hintergrund und Schrift die gleiche Farbe haben.
Aber ich hab keine Ahnung wie ich das für die Titelleiste beeinflussen kann.

Gruß
Mike

KodeZwerg 21. Mär 2018 10:33

AW: Fenstertitel verschwindet
 
Und wenn Du im FormCreate Event mal ein 'Form.BorderStyle := bsSingle;' reinschreibst, was passiert dann?
(Das Wort "Form." mit deinem Hauptformular-Namen ersetzen)

ps: Falls es kein geheimes Projekt ist, vielleicht postest du es, so kann man nur raten.
pps: Was ich mir auch noch vorstellen könnte, das Dein Programm in einem Konflikt mit dem Windows-Theme steht.
(das könntest Du testen indem du einmal das Manifest weglässt bzw mit einem Resource-Editor mal aus der .exe löschst)

MikeSP2 21. Mär 2018 10:49

AW: Fenstertitel verschwindet
 
Keine Änderung

ghubi01 21. Mär 2018 11:12

AW: Fenstertitel verschwindet
 
Hallo MikeSP2,

versuch mal folgendes:
- neuen Ordner anlegen
- neues Projekt mit dem Namen Deines alten Projektes anlegen und im neuen Ordner speichern
- die alten pas- und dfm-Dateien der Form in den neuen Ordner kopieren
- dann die neue "Form-unit" aus dem Projekt entfernen
- danach die alte "Form-unit" dem Projekt hinzufügen.
- kompilieren

Ich hatte schon mal Probleme mit den blauen Markierungspunkten für mögliche Haltepunkte in der IDE.
Die wurden dann schon mal an Stellen angezeigt, die keinen Code enthielten.

Mit der obigen Maßnahme ließ sich dass abstellen.

MfG

Georg

MikeSP2 27. Mär 2018 08:43

AW: Fenstertitel verschwindet
 
Hallo ghubi01,

hat etwas gedauert bis ich das probieren konnte.
Habe ich gemacht hat leider nicht zum Erfolg geführt.

Gruß
Mike

MikeSP2 27. Mär 2018 08:59

AW: Fenstertitel verschwindet
 
Hallo CodeZwerg,

ich hab das Mainfest aus der Exe gelöscht. Keine Besserung.
Auch das umstellen verschiedener Themes in Windows zeigt keine Änderung, die Schrift bleibt weg.
:pale:

Gruß
Mike

himitsu 27. Mär 2018 09:25

AW: Fenstertitel verschwindet
 
Ist dein Text denn nun wirklich weg oder ist er nur nicht sichtbar?
nachgesehn? DeinFesnter.Caption / WM_GETTEXT / GetWindowTextLength+GetWindowText (geht auch mit externen Programmen ... WinSpy und Co.)

Wenn wirklich weg, dann TControl.SetText, WM_SETTEXT oder CM_TEXTCHANGED überschreiben/hooken und mit dem Debugger schauen wer das ändert aufruft.

Zitat:

Zitat von KodeZwerg (Beitrag 1396863)
Und wenn Du im FormCreate Event mal ein 'Form.BorderStyle := bsSingle;' reinschreibst, was passiert dann?
(Das Wort "Form." mit deinem Hauptformular-Namen ersetzen)

NEIN!
Aus der eigenen Klasse niemals auf diese globalen Schrottvariable von "theoretisch" oftmals sich selber zugreifen.
Und wenn schon ersetzen, dann durch Delphi-Referenz durchsuchenSelf.

ghubi01 27. Mär 2018 09:28

AW: Fenstertitel verschwindet
 
Hallo MikeSP2,

zeig doch mal den Code-Abschnitt wo Du den Fenstertitel setzt.

Wird der Fenstertitel im Programm irgendwo verändert?

KodeZwerg 27. Mär 2018 10:02

AW: Fenstertitel verschwindet
 
Zitat:

Zitat von himitsu (Beitrag 1397323)
Zitat:

Zitat von KodeZwerg (Beitrag 1396863)
Und wenn Du im FormCreate Event mal ein 'Form.BorderStyle := bsSingle;' reinschreibst, was passiert dann?

NEIN!

Was spricht denn bitteschön dagegen es zum testen mal so einzusetzen, da verstehe ich nicht warum sich jemand aufregt.

himitsu 27. Mär 2018 10:11

AW: Fenstertitel verschwindet
 
Warum denn nicht direkt Self?

Weil es hier nichts einfacher macht, sich sowas gern dann festfrisst und man dann sowas set Jahrzehnten immer wieder überall sieht, obwohl es potentiell gefährlich ist, wenn die gespeicherte Instanz eben mal doch nicht der eigenen Instanz entspricht. (mehr als eine Instanz oder irgendein anderer Fehler, z.B. Fenster nur lokal erstellen und abwesheln auf auf lokale und globale Variable zugreifen)

PS: Wir hatten mal den Fall, dass eine Unit ausversehn doppelt in zwei DLLs einkompiliert wurde, anstatt sie in einem gemeinsamen Package zu haben (Compilerwarnung wegen impliziten Einbinden wurde übersehn) und dann wurde vom Kollegen tagelang gesucht, warum die selbe gleiche globale Variable ihren Wert verliert, wenn man sie aus einer Unit setzt und in einer anderen Unit auslesen will, aber beim Debuggen der Wert zu stimmen schien.

Fritzew 27. Mär 2018 10:17

AW: Fenstertitel verschwindet
 
Zitat:

Was spricht denn bitteschön dagegen es zum testen mal so einzusetzen, da verstehe ich nicht warum sich jemand aufregt.
Da muss ich Himitsu recht geben.
Das es bei Forms meistens nicht "knallt" liegt an Application.CreateForm, dort wird die Instancevariable gleich am Anfang gesetzt. Spätestens Wenn die Form mit globVar := TFormclass.Create(xxx) erzeugt wird knallt es.
Das ist ganz schlechter Stil.

KodeZwerg 27. Mär 2018 10:28

AW: Fenstertitel verschwindet
 
Nun ist der Groschen gefallen und ja, ist recht so. (Obwohl ich zum forcierten Test einer Eigenschaft oft so vorgehe, es ist ja kein Dauerzustand sondern nur ein einmaliger Test)

MikeSP2 27. Mär 2018 14:54

AW: Fenstertitel verschwindet
 
Hallo Himitsu,

dein Tipp hat mich weitergebracht. Im hintersten Winkel meiner Anwendung hatte sich ein:
//Form_Main.Caption := '';
versteckt. :duck:
Manchmal sieht man den Wald vor lauter Bäumen nicht.

Vielen Dank an Alle hab bei der Aktion einiges über Fenter Titel und deren Beeinflussung gelernt.

Gruß
Mike


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