INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

.net System Tray



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

30.10.2008, 15:21 (Dieser Beitrag wurde zuletzt bearbeitet: 30.10.2008 15:22 von RoLe.)
Beitrag #11

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
.net System Tray
' schrieb:Ja, also ich hab jetzt mal die Idee mit dem .NET übernhaufen geworfen, weil ich hab so ein nettes ToolKit für ActiveX gefunden.

Ja, und ich habe diese ActiveX über den haufen geworfen und setze nun auf .NET Wink
AX läuft im Moment noch in einer meiner EXE, aber beim beenden gibt es fast immer einen Windows Ausnahmefehler.
Deshalb und auch wegen der zusätzlichen DLL und CVI-RT, habe ich auf .NET gewechselt.


' schrieb:Hab momentan nur ein paar Verständniss Probleme, und dabei könnt ihr mir bestimmt helfen?!

Also, Icon erstellen, Icon Menu, Icon anzeigen, ausblenden usw funktioniert alles, ich versteh nur nicht wie das mit den Event registrieren geht.
Da sind zeichen und Verbindungen dabei, dich ich zuvor noch nie gesehen hab, und ich blick irgendwie nicht durch.
Was sind das für zeichen auf der linken seite, und wie is der zusammenhang zu "User event erstellen"? Kann ich mit dem Block jedes x-beliebige Event erstellen?!

Es gibt verschiedene Event in LV. Einmal der User-Event für "Benutzereingaben in LV" und einmal für AX und .NET.
Hast du die LV Hilfe zu dem RegisterCallBack mal durchgelesen?

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.10.2008, 16:02
Beitrag #12

Donald Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Sep 2008

8.5/8.6
2008
de

10319
Deutschland
.net System Tray
' schrieb:Bei ist es genauso wie Donald sagt ...Wink
Ich verwende LV 8.5, aber deshalb sollte es doch trotzdem kompatibel sein!


So nach vielen hin und her habe ich jetzt eine Lösung gefunden.

Das VI "Registereventcallback" muss ebenfalls offen sein, wenn man die Application problemlos starten will. Problem: Registereventcallback.vi muss dann auch über den Applictaion Builder dementsprechend eingebunden werden.

Über den Eigenschaftsknoten kann man sich den Status des FP auslesen lassen. ändern man diese in "Schreiben" und wählt "hidden" aus, verschwindet das "Registereventcallback.vi" wieder. Siehe auch hier: [url=index.php?act=findpost&pid=0]

   

Warum auch immer? Aber es funktioniert und ist wahrscheinlich einfacher als über ActiveX. Und die Quelle bei <a href='index.php?act=findpost&pid=0'>http://msdn.microsoft.com/de-debrary/system.windows.forms.notifyicon.aspx[/url] ist eigentlich auch sehr verständlich.

gruss
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.10.2008, 08:43
Beitrag #13

Ice Lord Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 79
Registriert seit: Sep 2008

8.2, 8.5
2008
de

82256
Deutschland
.net System Tray
' schrieb:Ja, und ich habe diese ActiveX über den haufen geworfen und setze nun auf .NET Wink

Willst du mir damit sagen das ActiveX veraltet ist und nicht mehr verwendet werden sollte?? Big Grin

' schrieb:Es gibt verschiedene Event in LV. Einmal der User-Event für "Benutzereingaben in LV" und einmal für AX und .NET.
Hast du die LV Hilfe zu dem RegisterCallBack mal durchgelesen?

Ja ich hab die Hilfe durchgelesen aber so wirklich schlau wird man aus der sache auch nicht. Ich weiß zum Beispiel nicht, welche Optionen ich alles zum User-event verwenden kann. Anders ausgedrückt, Ich bin einfach mit den Assemblys und Objecten bei .NET überfordert! Ich finde da einfach nicht des was ich brauch, bzw ich weiß gar nicht mit welchem Object ich mein Problem lösen soll/kann.
Jetzt kommst du wahrscheinlich gleich mit der MSDN Datenbank, aber da es dort nichts spezielles für LabVIEW gibt, ist es auch nciht das gelbe vom Ei.
Gibt es eigentlich weitere Assemblys/Objecte zum download?? Denn ich finde einfach nicht diese shell_notification als Object (um ein Programm zu minimieren)

Mfg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.10.2008, 09:01
Beitrag #14

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
.net System Tray
' schrieb:So nach vielen hin und her habe ich jetzt eine Lösung gefunden.

Das VI "Registereventcallback" muss ebenfalls offen sein, wenn man die Application problemlos starten will. Problem: Registereventcallback.vi muss dann auch über den Applictaion Builder dementsprechend eingebunden werden.

Über den Eigenschaftsknoten kann man sich den Status des FP auslesen lassen. ändern man diese in "Schreiben" und wählt "hidden" aus, verschwindet das "Registereventcallback.vi" wieder. Siehe auch hier:

Tja wie gesagt, bei mir geht das auch ohne das das VI-FP offen ist.
Du hast, meier Meinung nach, das Folge-Problem gelöst, nicht die Ursache.

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.10.2008, 09:12
Beitrag #15

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
.net System Tray
' schrieb:Willst du mir damit sagen das ActiveX veraltet ist und nicht mehr verwendet werden sollte?? Big Grin

AX ist schon alt, und verwenden sollte man das eigentlich garnicht, das gilt auch für .NET
Die beste Lösung wäre das mit den API's zu machen. Wie das CVI macht, es braucht aber eben diese CVI DLL, weil LabVIEW dieses Callback nicht konnte.
In den neueren LV Versionen ist es im Prinzip möglich, jedenfalls hat der DLL-Knoten einen entsprechenden Tab mit Eingabefelder, kenne mich damit aber nicht aus.

' schrieb:Jetzt kommst du wahrscheinlich gleich mit der MSDN Datenbank, aber da es dort nichts spezielles für LabVIEW gibt, ist es auch nciht das gelbe vom Ei.
Gibt es eigentlich weitere Assemblys/Objecte zum download?? Denn ich finde einfach nicht diese shell_notification als Object (um ein Programm zu minimieren)

Du programmierst hier eben in .NET und nicht in LV.
Da du in LV keinen Text
Code:
System.Windows.Forms.MouseEventArgs) Handles NotifyIcon2.MouseDown

eingeben kannst macht man das hier mit den Constructor Node.
Ist aber fast genau gleich.

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.11.2008, 09:39
Beitrag #16

Donald Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Sep 2008

8.5/8.6
2008
de

10319
Deutschland
.net System Tray
' schrieb:Tja wie gesagt, bei mir geht das auch ohne das das VI-FP offen ist.
Du hast, meier Meinung nach, das Folge-Problem gelöst, nicht die Ursache.

Ja, das denke ich auch. Hab das ganze WE gekrübelt, aber keine Lösung für die Ursache gefunden. Aber ich bin ja mit dem Problem nicht alleine. Naja werd ich wohl mit Leben müssen, oder hat einer hier noch eine Idee?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.11.2008, 08:24
Beitrag #17

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
.net System Tray
' schrieb:AX ist schon alt, und verwenden sollte man das eigentlich garnicht, das gilt auch für .NET
Die beste Lösung wäre das mit den API's zu machen. Wie das CVI macht, es braucht aber eben diese CVI DLL, weil LabVIEW dieses Callback nicht konnte.
Seit LabVIEW 7.1 ginge das schon mit dem LabVIEW API PostLVUserEvent.
Zitat:In den neueren LV Versionen ist es im Prinzip möglich, jedenfalls hat der DLL-Knoten einen entsprechenden Tab mit Eingabefelder, kenne mich damit aber nicht aus.
Zwar nannten sie das Callbacks aber das hat damit eigentlich nicht soviel zu tun. Nun ja es sind einfach Funktionen die LabVIEW beim Laden/Initialisieren und Entladen/Deinitialisieren der DLL Knoten aufruft. Auch eine Callback im strikten C Sinn aber hat eben nichts zu tun mit LabVIEW User Event Callbacks.
Zitat:Du programmierst hier eben in .NET und nicht in LV.
Da du in LV keinen Text
Code:
System.Windows.Forms.MouseEventArgs) Handles NotifyIcon2.MouseDown

eingeben kannst macht man das hier mit den Constructor Node.
Ist aber fast genau gleich.
Genau, etwas kombinatorische Fähigkeiten um LabVIEW Informationen und MSDN Informationen miteinander verbinden zu können ist absolut erforderlich. Diese Fähigkeiten um aus Information A und B ein ganzes Produkt zu machen ist ja auch was dem Ingeneursleben den Reiz gibt :-)

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.11.2008, 09:47
Beitrag #18

Ice Lord Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 79
Registriert seit: Sep 2008

8.2, 8.5
2008
de

82256
Deutschland
.net System Tray
' schrieb:Genau, etwas kombinatorische Fähigkeiten um LabVIEW Informationen und MSDN Informationen miteinander verbinden zu können ist absolut erforderlich. Diese Fähigkeiten um aus Information A und B ein ganzes Produkt zu machen ist ja auch was dem Ingeneursleben den Reiz gibt :-)

Leider ist man mit 20 Jahren NOCH kein Ingeneur, sondern Azubi, Student oder Facharbeiter ^_^

Und mit "etwas kombinatorischen Fähigkeiten" hast du auch ein wenig untertrieben. Wenn man nämlich noch nie was mit MSDN und nur Grundkenntnisse von LabVIEW hat, dann wirds ganz schön haarig.

Ich finde das größte Problem bei LabVIEW ist du zu kleine Community...
Wenn man ein Problem mit C#, C++, Java oder sonst was hat, ist das Problem meist nach 5 min so gut wie gelöst, aber bei lv dauerts halt doch ein paar Tage bis man den richtigen Lösungsansatz hat.

Bestes Beispiel ist das Programm zu minimieren...
Ich habe jede Menge Lösungen für alle Programmiersprachen, nur bei LabVIEW hat sich damit noch niemand so richtig beschäftigt.

Mfg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.11.2008, 10:42
Beitrag #19

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
.net System Tray
' schrieb:Leider ist man mit 20 Jahren NOCH kein Ingeneur, sondern Azubi, Student oder Facharbeiter ^_^

Und mit "etwas kombinatorischen Fähigkeiten" hast du auch ein wenig untertrieben. Wenn man nämlich noch nie was mit MSDN und nur Grundkenntnisse von LabVIEW hat, dann wirds ganz schön haarig.

Ich finde das größte Problem bei LabVIEW ist du zu kleine Community...
Wenn man ein Problem mit C#, C++, Java oder sonst was hat, ist das Problem meist nach 5 min so gut wie gelöst, aber bei lv dauerts halt doch ein paar Tage bis man den richtigen Lösungsansatz hat.

Bestes Beispiel ist das Programm zu minimieren...
Ich habe jede Menge Lösungen für alle Programmiersprachen, nur bei LabVIEW hat sich damit noch niemand so richtig beschäftigt.

Mfg

Was meinst Du denn mit minimieren? Minimize?

Ist doch Standard in LabVIEW. Eine Property Node oder wenn Du die Option in den Properties nicht ausgeschaltet hast einfach mit dem dritten Button open rechts in der Titelbar.

Und was Support in C und C# anbelangt. Was man dort als Lösung vorgetischt bekommt ist in vielen Fällen technisch haarsträubend bis grundsätzlich falsch. Und auf wirklich schwierige Dinge kriegt man dort meist auch keine Antwort.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.11.2008, 12:11
Beitrag #20

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
.net System Tray
' schrieb:Seit LabVIEW 7.1 ginge das schon mit dem LabVIEW API PostLVUserEvent.

Zwar nannten sie das Callbacks aber das hat damit eigentlich nicht soviel zu tun. Nun ja es sind einfach Funktionen die LabVIEW beim Laden/Initialisieren und Entladen/Deinitialisieren der DLL Knoten aufruft. Auch eine Callback im strikten C Sinn aber hat eben nichts zu tun mit LabVIEW User Event Callbacks.

Danke für die Info. Dachte ich mir, dass ich mal wieder falsch geraten haben.

Aber nun habe ich genug von .Net und Callback.
Denn nun geht es bei mir das Callback auch nur noch, so wie Donald beschrieben hat. Hmm

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  einfaches Beispiel für system tray icon Trinitatis 3 5.831 11.07.2013 18:32
Letzter Beitrag: Holy

Gehe zu: