Objekte in verschiedenen Fenstern durch VCL verwechselt?
-
Hallo Leute,
Ich will in der StatusBar die Hints anzeigen:
void OnHint(...) { StatusBar->Panels->Item[2]->Text = Application->Hint;
das funktioniert.
Das habe ich in der MainForm und in einer FensterClasse, die bis zu 5 Instanzen haben kann, eingebaut. Alle Fenster haben die StatusBar, die in allen Fenstern auch so benannt ist.
Jetzt kommt das Fehlverhalten:
Die Hint-Anzeige wird immer in dem Fenster angezeigt, das als letztes creiert wurde. Ich hätte erwartet, dass der Hint immer in dem Fenster kommt, das den Fokus hat, das ist aber nicht so. Auch nicht, wenn ich der MainForm den Focus gebe.
Wenn ich dann nur das letzte Fenster schließe, kommt bei OnHint eine Zugriffsverletzung.gruß RudiRatlos
-
Hallo Rudi
Application->OnHint = OnHint;
wirst du bei jedem FormCreate() programmiert haben. Da es aber die Application nur einmal im Projekt gibt, gilt immer nur die letzte Adresse.
machs gut