Die Caption bei jedem Aufruf von
TShowPath.MessageHook zu ändern ist natürlich keine Option.
Die Filterung nach WM_SETTEXT in
TShowPath.MessageHook ist letztlich unwirksam, weil die
IDE das nach kurzer Zeit wieder überschreibt.
Eine Möglichkeit, die man noch probieren könnte, wäre das Senden einer USER-MESSAGE entweder in
TShowPath.FileNotification, oder in
TShowPath.MessageHook bei WM_SETTEXT.
Aber das würde ein dauerndes Überschreiben erzeugen, zwar nicht so stark flackernd wie beim ungefilterten
TShowPath.MessageHook, aber es wäre - um eine Metapher zu verwenden - wie ein ständiges Aufwischen ständig verschütteter Milch. Besser wäre es, es gar nicht erst so weit kommen zu lassen, dass überhaupt Milch verschüttet wird.
Das eigentliche "Problem" ist ja, dass die
IDE selbst nur den
Projektnamen in die Titelzeile schreibt anstatt den ganzen Pfad des Projektes. Ich weiß nicht, ob es möglich ist, den Code der
IDE so zu patchen, dass einfach statt des Projektnamens der ganze Pfad geschrieben wird. Das wäre die sauberste Lösung. Am einfachsten wäre es natürlich, wenn man den Code der
IDE zur Verfügung hätte. Embarcadero müsste ausschließlich den UI-Teil der
IDE als Open Source zur Verfügung stellen, die man nach eigenem Belieben anpassen kann. Wenn Embarcadero gescheit wäre, würden sie das tun. Denn das Ziel sollte es sein, die Weiterentwicklung der
IDE AUF EINE BREITERE BASIS ZU STELLEN, um die
IDE aus der Steinzeit in die Moderne zu führen.
---
PS: Das Crashen beim Beenden der
IDE kommt offenbar daher, dass wegen der hohen Aufruf-Häufigkeit von TShowPath.MessageHook versucht wird, Methoden von TShowPath auszuführen wenn
IDE-Objekte schon nicht mehr existieren.