Wenn ich meinen Taschenrechner über die Tastatur bedienen will, dann kann ich nur die erste Ziffer eingeben, danach nicht mehr, das Ziel der nächsten Ziffer kann ich nicht erkennen. Ich habe für meine 3 abgeleiteten Klassen die Methode für MSG_META_KBD_CHAR eingerichtet, aber der Tastendruck wird dort nicht empfangen. Swat hakt bei mwatch leider. Gibt es noch eine Möglichkeit, die Message zu verfolgen?
Wohin geht die Message
-
-
Du kannst mal wieder Fragen stellen! eigentlich kann das beschriebene Verhalten nicht vorkommen
1. Welche Art Objekt empfängt die erste Ziffer?
2. empfängt das Application alle Ziffern?3. gibt mal vor der ersetnNzigger und danach das Kommando focus ein. Das zeigt die den Pfad, den die tataturereignisse lauf.
Beispiel GeoWrite: erst Neu/Öffen Dialog, dann Cursor setht im Fließ-Text ObjektRainer
-
<<Du kannst mal wieder Fragen stellen! >>
Ich weiß, ich nerve , aber wo soll ich sonst meine Fragen loswerden?
<<1. Welche Art Objekt empfängt die erste Ziffer? >>Das Display des Rechners, also das Textobjekt. Geklärt: Nach der Eingabe hat das Display nicht mehr den Fokus, sondern die Entertaste (Trigger) des Taschenrechners. Die Ursache (Bug) dafür habe ich gefunden.
<<2. empfängt das Application alle Ziffern? >>Was meinst du damit? Wo könnte ich das überprüfen?
Die Sache mit 'focus' funktioniert gut, kannte ich bisher nicht.
Ich danke dir Rainer!
-
<<2. empfängt das Application alle Ziffern? >>
Was meinst du damit? Wo könnte ich das überprüfen?
MSG_META_KBD_CHAR geht den focus-Pfad. Als erstes Objekt bekommt also immer das Application-Objekt die Tastaturereignisse (MSG_META_KBD_CHAR ) zu sehen. MSG_META_KBD_CHAR kann man also überschreiben, wenn man irgend etwa generell checken / abfangen will.
Rainer
-
Überschreiben bedeutet doch, dass ich die Methode für die abgeleiteten Klassen neu definiere, den zusätzlichen Code einfüge und meistens mit @callsuper() das grundsätzliche Verhalten beibehalte. Wie funktioniert das mit GenApplicationClass? Genauso?
-
Ich trag hier wahrscheinlich Eulen nach Athen, aber in VSCode (und ich dachte, das nutzt Du), hilft mir in solchen Fällen oft die ultraschnelle globale Suche sehr. Einfach den Namen der Message in der Suche eintragen und den gesamten GEOS Source Code innerhalb von Bruchteilen von Sekunden durchsuchen lassen... dann sieht man sehr schnell wie das an anderer Stelle gehandhabt wird...
-
Wie funktioniert das mit GenApplicationClass? Genauso?
Ja.
Ich glaube weder Wilfried noch ich (bei letzterem bin ich sicher) nutzen VSCode. Ich habe VSCode noch nicht dazu bekommen, die Suche im Repo durchzuführen. VSCode konfigurieren wäre ein Thema für einen neuen Thread.
Rainer
-
Wilfried sprach immer mal davon, dass er GitHub Copilot einsetzt, daher dachte ich, er nutzt auch VSCode. Aber das war vielleicht ein Fehlschluss.
-
@Konstantin
Ich habe mich wohl nicht vertändlich genug ausgedrückt. Natürlich weiß ich, wie man Methoden überschreibt, hab ich ja oft genug gemacht. Ich wollte auch nicht den Sourcecode von einer Message verstehen. Mein Punkt war, ob ich die oberste Klasse einer Applikation GenApplicationClass ableiten kann (soll).
VSCode war mir bisher unbekannt. Es gibt zwar so einige Erklär-Videos, aber in einem Englisch, das zum großen Teil leider an meinen Ohren vorbeigeht.
Deine Erklärung
<<Einfach den Namen der Message in der Suche eintragen und den gesamten GEOS Source Code innerhalb von Bruchteilen von Sekunden durchsuchen lassen... dann sieht man sehr schnell wie das an anderer Stelle gehandhabt wird...>>
ist mir wiederum zu kurz.
Wäre schön, wenn du etwas näher darauf eingehen könntest. Scheint ja interessant zu sein.
-
Ich glaube, Konstantin meinte den Quellcode der anderen Apps nach der Meldung zu durchsuchen und zu sehen, wie diese die Message genau verwenden / einsetzen / überschreiben.
Ich persönlich arbeite oft in einem Linux Terminal und da kann man mit "grep" das ganz prima machen. Grep listet alle Fundstellen mit der zugehörigen Datei auf. Die vielversprechendsten Dateien öffne ich mir dann um den Code anzusehen. Es gab auch mal ein WinGrep oder so, welches unter Windows die gleiche Funktionalität bot. Generell gibt es noch bessere Tools, bei welchen man die Fundstellen in einer Liste anklicken kann und dann die Datei mit der Stelle öffnen. Wäre für Empfehlungen solcher auch sehr offen.
-
Generell gibt es noch bessere Tools, bei welchen man die Fundstellen in einer Liste anklicken kann und dann die Datei mit der Stelle öffnen. Wäre für Empfehlungen solcher auch sehr offen.
Mein Texteditor (TextPad) kann das. Sowohl die Suche in Dateien, egal ob eigenes Projekt oder das Repo. Außerdem habe ich da eine Syntax-Datei angelegt, die GEOS Umlaute verfügbar gemacht und ein paar nette Features wie Zugriff auf den Zwischenablage-Verlauf.
VSCode hat andere Vorteile, aber richtig war geworden bin ich mit dem Tool nie.
Rainer