API-Funktion und Terminalserver

11/08/2008 - 15:43 von Heike Vogt | Report spam
Hallo zusammen,
wir liefern unser Programm auch auf Terminalserver aus und kàmpfen z.Z. mit
folgendem Problem:
Wir ermitteln das Windows-Verzeichnisse mit Hilfe der API-Funktion
GetWindowsDirectory( ) (DECLARE INTEGER GetWindowsDirectory IN kernel32
STRING@, INTEGER ).
Unter VFP 8 (oder VBasic) liefert diese Funktion immer den jeweiligen
User-Windowspfad, welchen jeder Anwender auf TS besitzt (in unserem Fall
immer H:Windows).
Unter VFP9 wird leider immer das zentrale Windows-Verzeichnis des TS (z.B.
C:\Windows) zurückgegeben. Dabei ist es egal, ob man als Administrator oder
einfacher Benutzer angemeldet ist.

Für uns stellen sich gleich mehrere Fragen:
- Warum biegt VFP9 die API-Funktion um?
- Warum liefert die Fuktion bei gleicher Deklaration andere Ergebnisse als
VBasic?
- Sollen etwa API-Funktionen unter VFP9 nicht mehr verwendet werden? Auch
bei den Funktionen "GetPrivateProfileString" und "WritePrivateProfileString"
haben wir Unterschiede festgestellt.

Antworten von MS-Gurus sind ausdrücklich willkommen und erwünscht.

Gruß Heike
 

Lesen sie die antworten

#1 Olaf Doschke
12/08/2008 - 09:12 | Warnen spam
GetWindowsDirectory( ) (DECLARE INTEGER GetWindowsDirectory IN kernel32
STRING@, INTEGER ).



Ich glaube nicht, daß VFP9 die API umbiegt oder
dessen Rückgabe beeinflußt.

Prüfe doch einfach mal direkt vor dem Aufruf
mit SYS(0), als welcher User die Applikation auf
dem TS zu laufen gedenkt.

Tschüß, Olaf.

Ähnliche fragen