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 

LV-Applikationen erstellen die VISTA kompatibel sind



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!

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

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
LV-Applikationen erstellen die VISTA kompatibel sind
Danke Rolf,
' schrieb:VISTA könnte da noch eine extra Sicherheit haben und einer Applikation nur diese Extrabehandlung zukommen lassen wenn sie ein INI File im selben Directory anpassen will als die Applikation selber ist.
Ist vermutlich nicht so, da eine dieser Applikationen in c:Programme seine INI-Datei in c:windows ablegt. Diese befindet sich nun auch in c:user...VirtualStoreWindows.

' schrieb:Windows hat dafür auch ein spezielles API GetPrivatProfile....() and friends (die automatisch die INI Datei der Applikation anspricht). Ich gehe mal davon aus dass VirutalStore nicht ein Mechansimus ist der auf File API Niveau ausgeführt wird sondern auf oben genannten API and friends. LabVIEW verwendet aber für die INI File VIs nicht dieses API sondern implementiert dies auf den normalen File IO Primitives. Etwas anderes wäre im Sinne der Multiplatformkompatibilität der INI file VIs auch nicht möglich, da die PrivateProfile APIs kein arbiträres INI File zulassen sondern immer nur das Applikations INI File ansprechen (exename mit path und mit der exe Endung in ini umbenannt).
Das habe ich auch schon auf lavag.org von dir gelesen, ich will es einfach nicht glauben Sad

Wenn ich extra eine VISTA kompatible LV-IDE einsetzen muss (LV8.2) erwarte ich auch von dieser, das diese mit dem OS zurechtkommt. Da hätte ich auch bei lv_71 bleiben können, nur das diese eben angeblich nicht mehr auf VISTA läuft.
Na gut, dann werde ich mich mal mit den "API's and friends" rumschlagen, und schauen, ob es damit geht.
Das mindeste was ich nun von NI erwarte, dass diese API's zum Download bereitgestellt werden.Grrr

Oder kann ich diese von der LabVIEW.exe via CLF-Node aufrufen?

' schrieb:Etwas anderes wäre im Sinne der Multiplatformkompatibilität der INI file VIs auch nicht möglich, da die PrivateProfile APIs kein arbiträres INI File zulassen sondern immer nur das Applikations INI File ansprechen (exename mit path und mit der exe Endung in ini umbenannt).
Windows VISTA wäre auch ein OS in einer PlattformWink

' schrieb:PS: wenn ich mich nicht irre wird die standard Behandlung des INI Files für die LabVIEW eigene INI schon beachtet da LabVIEW dafür die GetPrivatProfileAPI verwendet.
Das wird wohl das "VISTA kompatibel" sein, mehr nichtBig Grin
Das nützt mir in der eigenen LV-App. aber leider nichts, zudem habe ich LV in c:NILabVIEW installiert. Es wird damit einfacher die LV-IDE anzupassen, nur eine LabVIEW.ini für mehrere Benutzer, VI.lib und User.lib zu ergänzen usw.

.·´¯)--> 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
Anzeige
16.02.2009, 20:17
Beitrag #12

rolfk Offline
LVF-Guru
*****


Beiträge: 2.304
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
LV-Applikationen erstellen die VISTA kompatibel sind
' schrieb:Danke Rolf,
Das habe ich auch schon auf lavag.org von dir gelesen, ich will es einfach nicht glauben Sad
Es ist aber so. Es macht einfach keinen Sinn und wäre sogar tödlich wenn VirtualStore auf Win32 File API Niveau ausgeführt würde. Das würde jeglichen Zugriff auf Files innerhalb des Applikationsdirectories für nicht Administratoren unmöglich machen.

Zitat:Wenn ich extra eine VISTA kompatible LV-IDE einsetzen muss (LV8.2) erwarte ich auch von dieser, das diese mit dem OS zurechtkommt. Da hätte ich auch bei lv_71 bleiben können, nur das diese eben angeblich nicht mehr auf VISTA läuft.
Vista Kompatibilität hat ganz andere Dinge als die "Unterstützung" der Virtual Store zum Ziel.lv71kann durchaus als Applikation auf Vista laufen wenn man den aufpasst wo man Files in der eigenen Applikation hinpflanzt, aber da gibt es gewisse Dinge mit Netzwerk, User Berechtigungen usw. die eben komisch oder gar nicht mehr laufen wenn man es nicht genau so macht wie MS sich das für Vista ausgedacht hat.

Zitat:Na gut, dann werde ich mich mal mit den "API's and friends" rumschlagen, und schauen, ob es damit geht.
Das mindeste was ich nun von NI erwarte, dass diese API's zum Download bereitgestellt werden.Grrr

Oder kann ich diese von der LabVIEW.exe via CLF-Node aufrufen?

Natürlich. Sind ganz normale Windows APIs, warum sollte da die CLF Node nicht funktionieren?

Zitat:Windows VISTA wäre auch ein OS in einer PlattformWink
Nein Windows Vista is architekturmässig noch immer ganz einfach ein NT Kernel. Nur sind viele APIs so kastriert worden dass man sie plötzlich auf früher ganz gültige Weise nicht mehr benützen kann.

Zitat:Das nützt mir in der eigenen LV-App. aber leider nichts, zudem habe ich LV in c:NILabVIEW installiert. Es wird damit einfacher die LV-IDE anzupassen, nur eine LabVIEW.ini für mehrere Benutzer, VI.lib und User.lib zu ergänzen usw.

Na dann geht PrivateProfileString eventuel so oder so in die Hose. Das ist kein Vista sanktionierter Installationspfad für Applikationen.

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
17.02.2009, 16:32
Beitrag #13

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
LV-Applikationen erstellen die VISTA kompatibel sind
' schrieb:Natürlich. Sind ganz normale Windows APIs, warum sollte da die CLF Node nicht funktionieren?
Ich meinte, da NI das ja braucht für das LabVIEW.INI, könnten sie es den Anwendern auch zur Verfügung stellen. (CLF mit LabVIEW.EXE anstelle von Kernel32.dll)
GetPrivateProfile ist relativ schlecht dokumentiert auf MSDN, jedenfalls für win32, oder ich finde es nicht. Die Rückgabewerte fehlen mir.
Mit .NET wäre auch noch eine Möglichkeit.

' schrieb:Na dann geht PrivateProfileString eventuel so oder so in die Hose. Das ist kein Vista sanktionierter Installationspfad für Applikationen.
Daran habe ich gar nicht gedacht, habe nun wieder alles "richtig" installiert.

.·´¯)--> 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
17.02.2009, 16:41
Beitrag #14

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
LV-Applikationen erstellen die VISTA kompatibel sind
Gibt es eigentlich von NI eine Richtlinie, wie eine eigene LV-Applikation organisiert werden muss?
Wohin EXE, wo Supportdateien, wo Programmeinstellungen, wo Benutzereinstellungen usw. Registry (wo) oder weiterhin INI

Ich mache das noch so wie immer, alles in den Applikations Ordner, das geht so scheinbar nicht mehr mit den LV-EXE's. (fremde C-Programme schon)

Die Programm Einstellungen als INI-Datei werde ich nun ändern nach LOCAL_APPDATA , bei VISTA c:user<username>AppDataLocal
Somit hätte ich Problem1 gelöst, das ein nicht Admin auch seine Einstellungen speichern kann.

Macht Ihr das auch so?

.·´¯)--> 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
17.02.2009, 16:58
Beitrag #15

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
LV-Applikationen erstellen die VISTA kompatibel sind
Nun noch das Problem2:

Die fremde Applikation, hat sein EXE und sein INI in c:Programme. Wenn ein nicht Admin nun das Programm startet und Einstellungen schreibt oder liest, nimmt es die Datei vom VirtualStore.
(genau das möchte ich ja für die LV-EXE auch haben, geht aber nicht, wie Rolf geschrieben hat)

So, nun habe ich das lesen der fremd-INI in LV mit GetPrivateProfileString versucht. LV liest aber von der INI in c:programme.
Irgendwie weis die fremde Applikation, das sie nicht mehr im c:programme lesen soll.
Das müsste meine LV-App auch wissen.

Ob das mit WritePrivateProfileString nun die Datei von VirtualStore schreiben würde kann ich noch testen, aber diese Funktion brauche ich gar nicht.

So, nun brauch ich ein Beer

Danke und Gruss
RoLe

.·´¯)--> 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
17.02.2009, 22:14
Beitrag #16

rolfk Offline
LVF-Guru
*****


Beiträge: 2.304
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
LV-Applikationen erstellen die VISTA kompatibel sind
' schrieb:Ich meinte, da NI das ja braucht für das LabVIEW.INI, könnten sie es den Anwendern auch zur Verfügung stellen. (CLF mit LabVIEW.EXE anstelle von Kernel32.dll)
GetPrivateProfile ist relativ schlecht dokumentiert auf MSDN, jedenfalls für win32, oder ich finde es nicht. Die Rückgabewerte fehlen mir.

Das interne API scheint nicht durch LabVIEW exportiert zu werden in einer Weise die durch die CLN zugänglich ist. Und es ist ganz simpel ein Wrapper um GetPrivateProfileString.

GetPrivateProfileString ist recht gut dokumentiert on MSDN aber mit dem Kommentar dass man das nicht mehr verwenden sollte Big Grin. Aber ich weiss nicht was für einen Hokus Pokus es machen könnte. Eventuel ist die Umleitung in den Virtual Store abhängig von der Mondstellung oder funktioniert nur wenn die Applikation ein File innerhalb des eigenen Applikationsdirectories ansprechen will.

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
Anzeige
18.02.2009, 10:31
Beitrag #17

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
LV-Applikationen erstellen die VISTA kompatibel sind
' schrieb:GetPrivateProfileString ist recht gut dokumentiert on MSDN aber mit dem Kommentar dass man das nicht mehr verwenden sollte Big Grin. Aber ich weiss nicht was für einen Hokus Pokus es machen könnte. Eventuel ist die Umleitung in den Virtual Store abhängig von der Mondstellung oder funktioniert nur wenn die Applikation ein File innerhalb des eigenen Applikationsdirectories ansprechen will.

Danke Rolf,
heute habe ich die Doku auf MSDN beim ersten Klick gefunden, gestern eben nicht. Ist doch recht gut beschrieben, wenn man es findet.Rolleyes
Aber, die goldene Lösung ist es nicht, und wie du gesagt hast, veraltet.

Ich denke, ich gebe hier auf, und mache es einfach das es irgendwie geht, und bei Windows7 ändere ich wieder und bei Windows8, usw.
Wenn ich noch was finde, werde ich das hier posten.

Danke an alle Helfer und Leser
Gruss
RoLe

.·´¯)--> 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
18.02.2009, 10:54
Beitrag #18

RxT Offline
LVF-Grünschnabel
*


Beiträge: 29
Registriert seit: Aug 2007

8.2.1; 2010
2007
kA

25524
Deutschland
LV-Applikationen erstellen die VISTA kompatibel sind
Wenn das möglich ist, kann man das externe Program nicht unter c:/Programme installieren, sondern in irgendeinen anderen Ordner installieren. Dann macht Vista nicht mehr mit den ini-Dateien rum und alle User bekommen die gleiche Datei.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.02.2009, 13:59
Beitrag #19

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
LV-Applikationen erstellen die VISTA kompatibel sind
' schrieb:Wenn das möglich ist, kann man das externe Program nicht unter c:/Programme installieren, sondern in irgendeinen anderen Ordner installieren. Dann macht Vista nicht mehr mit den ini-Dateien rum und alle User bekommen die gleiche Datei.
Danke RxT, das ist mir soweit klar, und vermutlich die einfachste Lösung.
Ich will ja, das die LV-EXE mit den INI-Dateien rummacht, nur erreiche ich das nicht.

Gruss
RoLe

.·´¯)--> 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.03.2009, 08:48
Beitrag #20

rolfk Offline
LVF-Guru
*****


Beiträge: 2.304
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
LV-Applikationen erstellen die VISTA kompatibel sind
' schrieb:Danke RxT, das ist mir soweit klar, und vermutlich die einfachste Lösung.
Ich will ja, das die LV-EXE mit den INI-Dateien rummacht, nur erreiche ich das nicht.

Gruss
RoLe

Das ist die letzte und authorative Weisheit auf diesem Gebiet von einem der es wissen muss. Adam Kemp arbeitet bei NI in Austin im LabVIEW Team. Kam heute in der Info-LabVIEW mailingliste:

' schrieb:LabVIEW does explicitly turn off the virtual store, and I believe LabVIEW apps do the same. To change that you can use Microsoft tools to write a new manifest into your LabVIEW-built applications.

Sadly, LabVIEW also currently makes its install directory world-writeable, so we do still put our .ini file right next to the .exe.

As for the Get System Directories feature, I can't comment on when or if any specific feature will be available in future versions of LabVIEW. For current versions of LabVIEW, there are multiple 3rd party VI libraries to do this.

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
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  non-reentrant Sub-VIs in unabhängigen Applikationen Nordvestlys 2 2.425 02.03.2015 11:44
Letzter Beitrag: Nordvestlys
  sind mehrere Indizierungen in einer for-Schleife möglich? Hasenfuss 1 3.145 23.01.2013 19:49
Letzter Beitrag: jg
  Multitouch-Applikationen mit LabView erstellen? SPS-Fuzzi 0 3.357 08.03.2012 10:01
Letzter Beitrag: SPS-Fuzzi
  LV unter Betriebssystem XP und VISTA First 1 4.685 01.12.2009 19:00
Letzter Beitrag: jg
  Vista 64 Bit undLabVIEW joedoe1979 4 6.159 03.06.2009 22:28
Letzter Beitrag: horatius
  LV Runtime 8.6 und visa runtime 4.5 unter vista 64? ed123 0 3.677 27.03.2009 10:27
Letzter Beitrag: ed123

Gehe zu: