LabVIEWForum.de - Windoof Tastatur macht was sie will

LabVIEWForum.de

Normale Version: Windoof Tastatur macht was sie will
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Mahlzeit,

ich habs mal wieder ... hab versucht die Windows Tastatur in ein LV-Projekt einzubinden, es klappt auch ... eigentlich! Wenn ich die Highlight-Funktion verwende ist das alles kein Thema, sobald ich mein VI ohne ausführe wird die Tastatur auch aufgerufen aber nicht wieder geschlossen. Erst dachte ich es liegt an einer nicht vorhandenen Wartezeit, das das Programm einfach zu schnell durch die Schleife rennt, aber das ist es scheinbar auch nicht. Hat jemand eine Idee?

Anbei der "spinnende" Programmteil (LV 7.1)
Edit: Nach dem eigentlichen drücken (fürs schließen) schließt sich die Tastatur nun kurz, öffnet sich wieder und nach einem erneuten warten schließt sie sich dann ganz ... Bahn
Da fehlen die SubVIs.

Gruß Markus
oh sorry! Ich hoffe ich hab das jetzt so richtig gemacht, eventuell muss die eine DLL in das LV-Verzeichnis oder der Pfad muss angepasst werden.
Lv71_img
1.) Da fehlt immer noch ein SubVI.
2.) Du willst doch nicht in jedem Durchlauf das Öffnen und Schließen machen? Also entweder eine Eventstruktur verwenden oder vergleichen, ob sich wirklich der Zustand deines Schalters geändert hat.

Gruß, Jens
Jetzt fehlt nur noch "Run Application.vi" und die LabVIEW-Version. Big Grin

Gruß Markus

EDIT: Ich habe Dir die LabVIEW-Version eingefügt.
Ich gebe mich, was die VIs angeht, geschlagen. Das wären eine ganze Menge und bis ich die jetzt alle kopiert habe, hab ich es mal eben ein wenig anders gemacht. Der Fehler bleibt aber. Ich weiß das ich in diesem Fall Polling wie aus dem Lehrbuch betreibe, das ist aber nicht schlimm weil ich in diesem Teil meinesm Programms eh keine Zeitprobleme habe und auf eine Eingabe warte. Eine event wäre denkbar, ist aber in so fern ungünstig das ich dann ein event in einer while, in einer case in einem event hätte ... da war ich der Meinung, irgendwann is auch mal gut. Allerdings bin ich für alle Vorschläge offen und dankbar

Gruß
Daniel
Hallo Daniel,

bei mir (Lv09_img2) funktioniert's: OSK wird aufgerufen und auch wieder geschlossen...

Ich verstehe zwar nicht, warum man OSK ungebremst dauernd öffnen muss und warum man es im 5ms-Takt schließen muss, aber zu Events wurde dir ja schon geraten...
Hallo Daniel,

(26.08.2011 13:17 )M@rRy schrieb: [ -> ]Eine event wäre denkbar, ist aber in so fern ungünstig das ich dann ein event in einer while, in einer case in einem event hätte ...

Eventstruktur in Eventstruktur oder auch zwei parallele Eventstrukturen gleich mal gedanklich streichen.Abgelehnt
Das geht nicht, bzw. funktioniert nicht zuverlässig.

Grüße
Andreas
(26.08.2011 15:21 )A.Berndsen schrieb: [ -> ]
(26.08.2011 13:17 )M@rRy schrieb: [ -> ]Eine event wäre denkbar, ist aber in so fern ungünstig das ich dann ein event in einer while, in einer case in einem event hätte ...

Eventstruktur in Eventstruktur oder auch zwei parallele Eventstrukturen gleich mal gedanklich streichen.Abgelehnt

Guten Morgen,

ich empfand das auch als nicht gut deshalb wollte ich gern bei dem pollen bleiben. Das Ganze läuft eh in einer Schleife wo der User lediglich Werte in mehrere Controlls schreiben soll und beim klicken auf einen Button sollen diese übernommen werden. Dadurch wird auch die Schleife beendet und somit auch das pollen. Falls jemand eine andere Idee hat (ausser Event) wie ich ständig abfragen kann in der Schleife ob die Tastatur offen ist und falls der Button switched das sie dann ausgeht bin ich trotzdem dankbar.

Gruß
Daniel
Edit:
@ GerdW: Läuft es bei dir auch wenn du die Highlight-Funktion nicht aktivierst? Weil es bei mir nur dann spinnt ... wenn die aktiviert ist ist alles schön, deshalb konnte ich bisher auch keinen Fehler am Ablauf der Schleife erkennen.
Ein wenig selbst denken schadet ja nicht, deshalb hier mal meine Lösung ohne das andauernde Öffnen / Schließen. Jetzt geht es auch bei mir das sich die direkt wieder schließt.

Gruß
Daniel
Hallo Daniel,

dein VI läuft sowohl mit als auch ohne Highlighting...

Tipp:
- Fehlerabfrage nach der FensterSchließen-Funktion einbauen: sonst gibt es einen Fehlerdialog, wenn man die Bildschirmtastatur "manuell" schließt und danach dasselbe von deinem VI aus probiert
- Wait-Funktion aus dem Case in die Hauptschleife übernehmen (spart ungemein CPU-Leistung)
- NOT-Funktion statt der Ausgabe zweier boolscher Konstanten
- für boolsche Operationen bevorzuge ich die boolschen Funktionen: dein "==" wäre dann ein NXOR...
Seiten: 1 2
Referenz-URLs