[GEFIXT] Bug? Hint muss explizit noch einmal aktiviert werden
-
- Lazarusforum e. V.
- Beiträge: 366
- Registriert: So 5. Mai 2019, 16:52
- OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 3.6, FPC 3.2.2)
- CPU-Target: x86_64, i386
- Wohnort: Bayreuth
[GEFIXT] Bug? Hint muss explizit noch einmal aktiviert werden
Hallo,
könnte das bitte jemand noch einmal prüfen. Bei mir ist das so unter Windows und Linux und imo ist das ein Bug.
Ich erstelle ein neues Projekt mit einem Form. Darauf plaziere ich eine beliebige Komponente (z.B. Button). Bei der Eigenschaft "Hint" dieser Komponente gebe ich einen Text ein und starte die Anwendung. Gehe ich mit der Maus über diese Komponente wird kein Hint angezeigt. Sowohl in der Form als auch bei der Komponente sind per Default "ShowHint" auf "True" gesetzt.
Gehe ich jetzt bei der Komponente in die Eigenschaften und deaktiviere "ShowHint" und aktiviere ich diese wieder bewusst, so wird der Hint angezeigt. Die Option "ParentShowHint" wird deaktiviert. Aktiviere ich diese wieder, dann ist der Hint wieder verschwunden.
Gehe ich in die Form und deaktiviere und aktiviere ich hier die Option "ShowHint" dann wird die Hint nach dem starten der Anwendung angezeigt.
Imo sollte doch die Hint per Default angezeigt werden, da ja alle Optionen auf True sind. Oder habe ich hier etwas übersehen?
Nachtrag: ich sehe gerade, dass wenn ich beim Form das ShowHint auf True setze, dieses Fett markiert wird. Scheinbar ist die Standardeinstellung also False, obwohl hier True angezeigt wird. Ist u.U. das das Problem?
könnte das bitte jemand noch einmal prüfen. Bei mir ist das so unter Windows und Linux und imo ist das ein Bug.
Ich erstelle ein neues Projekt mit einem Form. Darauf plaziere ich eine beliebige Komponente (z.B. Button). Bei der Eigenschaft "Hint" dieser Komponente gebe ich einen Text ein und starte die Anwendung. Gehe ich mit der Maus über diese Komponente wird kein Hint angezeigt. Sowohl in der Form als auch bei der Komponente sind per Default "ShowHint" auf "True" gesetzt.
Gehe ich jetzt bei der Komponente in die Eigenschaften und deaktiviere "ShowHint" und aktiviere ich diese wieder bewusst, so wird der Hint angezeigt. Die Option "ParentShowHint" wird deaktiviert. Aktiviere ich diese wieder, dann ist der Hint wieder verschwunden.
Gehe ich in die Form und deaktiviere und aktiviere ich hier die Option "ShowHint" dann wird die Hint nach dem starten der Anwendung angezeigt.
Imo sollte doch die Hint per Default angezeigt werden, da ja alle Optionen auf True sind. Oder habe ich hier etwas übersehen?
Nachtrag: ich sehe gerade, dass wenn ich beim Form das ShowHint auf True setze, dieses Fett markiert wird. Scheinbar ist die Standardeinstellung also False, obwohl hier True angezeigt wird. Ist u.U. das das Problem?
Zuletzt geändert von Ich934 am Di 13. Jul 2021, 19:44, insgesamt 1-mal geändert.
Tipp für PostgreSQL: www.pg-forum.de
Re: Bug? Hint muss explizit noch einmal aktiviert werden
Seltsame Geschichte... Bei meinen Tests verhielten sich Trunk und v2.0.12 korrekt, und Form.ShowHint war per default false. Nur im neuen 2.2RC1/64bit konnte ich den Fehler sehen, genauso wie beschrieben. Ging ich zur 32-Bit Installation des 2.2.RC1 war der Fehler wieder weg. Da fiel mir auf, dass ich in der 64-Bit-Version den DockedFormEditor installiert hatte. Nachdem ich den deinstalliert hatte, liefen die Hints auch bei der 64-Bit Installation einwandfrei.
Wenn du das bestätigen kannst, dann solltest du einen Bug-Report schreiben.
Wenn du das bestätigen kannst, dann solltest du einen Bug-Report schreiben.
-
- Lazarusforum e. V.
- Beiträge: 366
- Registriert: So 5. Mai 2019, 16:52
- OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 3.6, FPC 3.2.2)
- CPU-Target: x86_64, i386
- Wohnort: Bayreuth
Re: Bug? Hint muss explizit noch einmal aktiviert werden
Bei mir ist es die 2.0.12 r64642 mit FPC 3.2.2 (beides stable über FPCUPDeluxe). Ich teste das jetzt noch einmal mit einem nackigen Lazarus und wenn ich das reproduzieren kann, schreib ich einen Bug-Report. Danke für den Test.
Tipp für PostgreSQL: www.pg-forum.de
-
- Lazarusforum e. V.
- Beiträge: 366
- Registriert: So 5. Mai 2019, 16:52
- OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 3.6, FPC 3.2.2)
- CPU-Target: x86_64, i386
- Wohnort: Bayreuth
Re: Bug? Hint muss explizit noch einmal aktiviert werden
Hier noch ein paar Informationen die ich jetzt noch herausgefunden habe:
- Frisches Lazraus 2.0.12 r64642 (stable): funktioniert, ShowHint ist False
- AnchorDocking installiert: ShowHint ist auf True aber funktioniert nicht und zeigt das oben beschriebene Verhalten
Tipp für PostgreSQL: www.pg-forum.de
Re: Bug? Hint muss explizit noch einmal aktiviert werden
Mit AnchorDockingDsgn konnte ich das Problem nicht sehen. Allerdings beim DockedFormEditor.
Das Formular bekommt beim Einbetten in die IDE die Message CM_PARENTSHOWHINTCHANGED und stellt ShowHint entsprechend um. Das ist nun unterbunden.
Der Bugreport https://bugs.freepascal.org/view.php?id=39217 ist gefixt, bitte teste es. Wenn du keine Lazarus Trunk Version zum testen hast, kannst du in der Datei ..\Lazarus\components\dockedformeditor\source\dockeddesignform.pas folgende Zeilen ändern und testen:
Das Formular bekommt beim Einbetten in die IDE die Message CM_PARENTSHOWHINTCHANGED und stellt ShowHint entsprechend um. Das ist nun unterbunden.
Der Bugreport https://bugs.freepascal.org/view.php?id=39217 ist gefixt, bitte teste es. Wenn du keine Lazarus Trunk Version zum testen hast, kannst du in der Datei ..\Lazarus\components\dockedformeditor\source\dockeddesignform.pas folgende Zeilen ändern und testen:
Code: Alles auswählen
procedure TDesignForm.WndMethod(var Msg: TLMessage);
...
case Msg.msg of
{$IFDEF WINDOWS}
// we need to correct ActiveEditor to right form
// this code works correctly on Windows platform
// (is necessery for selecting controls after form resizing).
// in Linux platforms below code brings problems with QT (inactive form)
LM_LBUTTONDOWN, LM_RBUTTONDOWN, LM_MBUTTONDOWN, LM_XBUTTONDOWN:
if LastActiveSourceWindow <> nil then
begin
SourceEditorManagerIntf.ActiveSourceWindow := LastActiveSourceWindow;
SourceEditorManagerIntf.ActiveEditor := LastActiveSourceWindow.ActiveEditor;
end;
{$ENDIF}
// Prevent usage of parent hint (SourceEditorWindow), see issue #39217
CM_PARENTSHOWHINTCHANGED:
begin
Msg.Result := 0;
Exit;
end;
end;
FWndMethod(Msg);
end;
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- Lazarusforum e. V.
- Beiträge: 366
- Registriert: So 5. Mai 2019, 16:52
- OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 3.6, FPC 3.2.2)
- CPU-Target: x86_64, i386
- Wohnort: Bayreuth
Re: Bug? Hint muss explizit noch einmal aktiviert werden
Hallo Michl,
danke, aber den dockedformeditor gibt es bei mir unter components nicht... Es würde nur den sparta_DockedFormEditor geben.
Lazarus 2.0.12
FPC 3.2.2
erstellt mit FPCUPdeluxe
danke, aber den dockedformeditor gibt es bei mir unter components nicht... Es würde nur den sparta_DockedFormEditor geben.
Lazarus 2.0.12
FPC 3.2.2
erstellt mit FPCUPdeluxe
- Dateianhänge
-
- components-Verzeichnis (Ausschnitt)
- Bildschirmfoto zu 2021-07-13 17-24-24.png (72.34 KiB) 8297 mal betrachtet
Tipp für PostgreSQL: www.pg-forum.de
Re: Bug? Hint muss explizit noch einmal aktiviert werden
Ja, dort wäre die Datei sparta_mainide.pas zu ändern, speziell die Prozedur TDesignFormData.WndMethod(var Msg: TLMessage) mit dem gleichen Code.
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- Lazarusforum e. V.
- Beiträge: 366
- Registriert: So 5. Mai 2019, 16:52
- OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 3.6, FPC 3.2.2)
- CPU-Target: x86_64, i386
- Wohnort: Bayreuth
Re: Bug? Hint muss explizit noch einmal aktiviert werden
Jetzt geht es. Super. Vielen Dank!
Tipp für PostgreSQL: www.pg-forum.de