TSHIFTSTATE
- juelin
- Beiträge: 244
- Registriert: Sa 24. Jul 2021, 18:03
- OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
- CPU-Target: 64Bit
- Wohnort: Mannheim
TSHIFTSTATE
Hallo schöne Weihnachten alle zusammen,
ich rufe das Ereignis
TFrame4.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
im TImage auf.
Und damit nicht immer diese Warnung
unit6.pas(30,7) Hint: Parameter "Shift" not used
kommt setzte ich folgenden in der Routine Befehl ab
if Shift = ssAlt then ImagePosX:=X; (So steht es in der Onlinehilfe).
Nun kommt aber folgende Fehlermeldung
unit6.pas(199,12) Error: Operator is not overloaded : "TFhiftState = TShiftStateEnum"
Ich habe keine Ahnung warum (steht doch so in der Onlinehilfe).
Hat da jemand eine Idee?
Schöne Restweihnachten noch.
Gruß
Jürgen
ich rufe das Ereignis
TFrame4.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
im TImage auf.
Und damit nicht immer diese Warnung
unit6.pas(30,7) Hint: Parameter "Shift" not used
kommt setzte ich folgenden in der Routine Befehl ab
if Shift = ssAlt then ImagePosX:=X; (So steht es in der Onlinehilfe).
Nun kommt aber folgende Fehlermeldung
unit6.pas(199,12) Error: Operator is not overloaded : "TFhiftState = TShiftStateEnum"
Ich habe keine Ahnung warum (steht doch so in der Onlinehilfe).
Hat da jemand eine Idee?
Schöne Restweihnachten noch.
Gruß
Jürgen
-
- Beiträge: 2118
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: TSHIFTSTATE
TShiftState ist ein Set von TShiftStateEnum (es kann ja mehr als eine taste gleichzeitig gedrückt sein). Korrekt ist also
Übrigens, das was du da bekommst ist keine Warnung sondern ein Hinweis (daher steht da Hint). Warnings sind Sachen die definitiv in manchen Situationen kaputt gehen können. So zu sagen Fehler die nur darauf warten zu passieren. Faustregel, ein Projekt sollte ohne warnings kompilieren.
Hints hingen sind Sachen die keine Fehler per se darstellen, aber potentiell ein Versehen sein können.
Beispiel, man hat eine komplexe Funktion und schreibt sie um sodass sie viel einfacher wird, dann bleiben ein Haufen Parameter und variablen übrig die vorher notwendig waren, in der neuen einfacheren version aber nicht mehr. Dafür sind diese hints da um dich drauf aufmerksam zu machen ob du das wirklich noch brauchst oder es nicht sogar löschen kannst
Code: Alles auswählen
ssAlt in Shift
Hints hingen sind Sachen die keine Fehler per se darstellen, aber potentiell ein Versehen sein können.
Beispiel, man hat eine komplexe Funktion und schreibt sie um sodass sie viel einfacher wird, dann bleiben ein Haufen Parameter und variablen übrig die vorher notwendig waren, in der neuen einfacheren version aber nicht mehr. Dafür sind diese hints da um dich drauf aufmerksam zu machen ob du das wirklich noch brauchst oder es nicht sogar löschen kannst
Zuletzt geändert von Warf am Do 26. Dez 2024, 12:29, insgesamt 2-mal geändert.
Re: TSHIFTSTATE
Wie Warf sagt.
Deshalb kann es gleichzeitig mehrere Status enthalten.
Deshalb kann es gleichzeitig mehrere Status enthalten.
Code: Alles auswählen
{ Types used by standard events }
TShiftStateEnum = (ssShift, ssAlt, ssCtrl,
ssLeft, ssRight, ssMiddle, ssDouble,
// Extra additions
ssMeta, ssSuper, ssHyper, ssAltGr, ssCaps, ssNum,
ssScroll,ssTriple,ssQuad,ssExtra1,ssExtra2);
-
- Beiträge: 607
- Registriert: Di 19. Mai 2015, 20:05
- OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
- CPU-Target: x86_64-linux-gtk2
Re: TSHIFTSTATE
Hallo,
zu dem Thema ist vielleicht auch dies noch interessant:
viewtopic.php?p=142459#p142459
Viele Grüße
Bernd
zu dem Thema ist vielleicht auch dies noch interessant:
viewtopic.php?p=142459#p142459
Viele Grüße
Bernd
Re: TSHIFTSTATE
oder wenn Sie prüfen wollen, ob nur Alt gedrückt wurde, dann
Code: Alles auswählen
if Shift = [ssAlt] then
// ...
Grüße / Pozdrawiam
paweld
paweld
- juelin
- Beiträge: 244
- Registriert: Sa 24. Jul 2021, 18:03
- OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
- CPU-Target: 64Bit
- Wohnort: Mannheim
[gelöst] Re: TSHIFTSTATE
Ja danke für sie Hinweise.
Habe das Problem schon auf andere Weise gelöst.
Shift:=Shift;
Damit kommt die Warung Shift unused auch nicht mehr.
Alles Gute
Jürgen
Habe das Problem schon auf andere Weise gelöst.
Shift:=Shift;
Damit kommt die Warung Shift unused auch nicht mehr.
Alles Gute
Jürgen
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: TSHIFTSTATE
Du kannst aber auch unter Projekt -> Projekteinstellungen -> Compilereinstellungen -> Meldungen die Meldung Hint: Parameter "$1" not used ausschalten.