LabVIEWForum.de - Dialog Popup

LabVIEWForum.de

Normale Version: Dialog Popup
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
ich würde gerne meinen Dialog bei Bedarf in den Vordergrund holen.
Das heißt:
Ein Serial Monitor (wie im Bild zu sehen) frägt in einer Schleife den RS232 Port ab.
Wenn nun Daten kommen, möchte ich, dass der Serial Monitor in den Vordergrund tritt, auch
wenn man gerade mit anderen Programmen beschäftigt ist.
' schrieb:Hallo,
ich würde gerne meinen Dialog bei Bedarf in den Vordergrund holen.
Das heißt:
Ein Serial Monitor (wie im Bild zu sehen) frägt in einer Schleife den RS232 Port ab.
Wenn nun Daten kommen, möchte ich, dass der Serial Monitor in den Vordergrund tritt, auch
wenn man gerade mit anderen Programmen beschäftigt ist.

Wenn LabVIEW sich selbst gegenüber anderen Programmen in den Vordergrund bringen soll, geht das z.B. über Aufruf der entsprechenden WinAPI Funktionen. Im angehängten zip Paket sollte eigentlich alles enthalten sein, was man zum Aufruf des WinAPI aus LabVIEW braucht:
Vielen Dank für den Tipp, leider kann es nicht geöffnet werden, da die Version
4.0 ist und somit zu alt. Gibt es keine LV-interne Lösung?
Habs jetz über Umwege hingekriegt...
Danke, funktioniert super. Jetzt stellt sich nur eine Frage.
In den Funktionen wird auf die user32.dll im system32 ordner zurückgegriffen.
Die Anwendung geht an Kunden verschiedener Länder und Betriebssysteme.
Kann man davon ausgehen, dass jedes System diese DLL hat und dass LabVIEW sich diese
Datei immer dynamisch sucht? Oder sollte man die DLL im Installer dazupacken?!
Grüße, Simon
' schrieb:Kann man davon ausgehen, dass jedes System diese DLL hat
Solange es W2k oder XP ist: ja. Ansonsten: Ich habe keine Ahnung.

Zitat:und dass LabVIEW sich diese Datei immer dynamisch sucht?
Ja, LV wird immer dynamisch suchen - solange ein entsprechender Suchpfad mit Inhalt vorhanden ist - was normalerweise der Fall ist.

Zitat:Oder sollte man die DLL im Installer dazupacken?!
Davon würde ich abraten. Zumindest in Windows Betriebssystemen kann das zu schweren Problemen führen - muss aber nicht.
' schrieb:Wenn nun Daten kommen, möchte ich, dass der Serial Monitor in den Vordergrund tritt, auch
wenn man gerade mit anderen Programmen beschäftigt ist.

Nur so zum Nachdenken:

Fragt sich nur, ob das deine Kunden auch möchten.
Ich persönlich möchte das nicht, und wenn, dann als Option, die ich aktivieren oder deaktivieren kann.
Wenn ich an einem Mail schreiben bin, will ich nicht, das mir das Mail-Fenster entzogen wird.
Oder wenn schon, dann bring es in den Vordergrund, aber mache es nicht als aktives Fenster.

Dein "Serial Monitor", als Dialog im LV konfiguriert, bringt es in den Vordergrund deiner Anwendung.
Die anderen Anwendungen solltest du nicht manipulieren.
Deshalb ist diese Funktion vermutlich auch nicht in LV integriert. :-)

Gruss
Roland
Der Serial Monitor kommt auch nur in den Vordergrund, wenn
Daten über RS232 kommen. Und die kommen nur, wenn ein Fehler am Sender
auftritt, der Sender eine Modemverbindung zum PC herstellt, und dann die Fehlermeldung
schickt. Und ein Fehler an unserem Gerät kommt so gut wie gar nicht vor.
Aber wenn, dann sollte der Benutzer auch schnellstens davon erfahren...
Gruß Simon
' schrieb:In den Funktionen wird auf die user32.dll im system32 ordner zurückgegriffen.
Die Anwendung geht an Kunden verschiedener Länder und Betriebssysteme.

Alle 32 Bit Windows OSen unterstützen die da gebrauchten Funktionen.

Zitat:Kann man davon ausgehen, dass jedes System diese DLL hat und dass LabVIEW sich diese
Datei immer dynamisch sucht?

Absolut, solange es um Windows 32 bit geht.

Zitat:Oder sollte man die DLL im Installer dazupacken?!

Absolut nicht! Abgesehen von den legalen Problemen (Du hast mit der Windows Lizenz nicht das Recht erworben um Windows DLLs an andere weiter zu geben) ist das Ersetzen von Windows Kern DLLs durch andere mit unterschiedlicher Version ein ziemlich sicherer Weg in die unglaublichsten Probleme, bis hin zum unmöglich machen, um das System noch aufstarten zu können.

Rolf Kalbermatter
Referenz-URLs