Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Programm startet nicht übers Netz (https://www.delphipraxis.net/162250-programm-startet-nicht-uebers-netz.html)

zeras 14. Aug 2011 15:57

Programm startet nicht übers Netz
 
Hallo,

ich habe für unsere Firma ein Programm geschrieben, welches viele Kollegen nutzen. Dies liegt auf dem Server. Dazu nutze ich noch einige DLL, wie Firbird embedded oder ZIP DLL's. Dies liegen auch in dem Verzeichnis, wo das Programm liegt. Das geht soweit alles gut, aber wenn ich mich per VPN in der Firma einwähle, starten diese Programme nicht mehr. Wenn ich das Programm einmal lokal starte (auch über VPN), geht alles wieder gut.
Sind das irgendwelche Windowseinstellungen oder VPN, die das nicht mehr möglich machen.

Ich hatte letztens noch einen anderen Einwählpunkt auch über VPN. Da meine ich, dass es noch gegangen wäre.

Matthias

jaenicke 14. Aug 2011 16:35

AW: Programm startet nicht übers Netz
 
Mir ist zwar noch nicht ganz klar wie das dort jetzt genau aussieht, aber zwei Hinweise:

Hast du schon einmal mit dem Process Monitor o.ä. geschaut, welche DLLs geladen werden oder bei welchen es versucht wird? Und welche anderen Zugriffe passieren?

Benutzt du vielleicht relative Pfade zu den DLLs?

zeras 14. Aug 2011 17:32

AW: Programm startet nicht übers Netz
 
Zitat:

Zitat von jaenicke (Beitrag 1116801)

Benutzt du vielleicht relative Pfade zu den DLLs?

Für Firebird habe ich beispielsweise nur die entsprechenden DLL ins Programmverzeichnis gelegt. Wo sollte ich da noch extra was angeben?

Bei dem anderen Programm nutze ich die Delzip179.dll. Diese liegt auch nur im Programmverzeichnis auf dem Server. Hier auch die Frage, ob ich noch etwas im Programm angeben muss.

Wenn ich dann im Firmennetz (ohne VPN) bin, dann geht es ohne Probleme.

Aphton 14. Aug 2011 17:36

AW: Programm startet nicht übers Netz
 
Zitat:

Für Firebird habe ich beispielsweise nur die entsprechenden DLL ins Programmverzeichnis gelegt. Wo sollte ich da noch extra was angeben?
Probier mal ähnliches
Delphi-Quellcode:
FirebirdDll := ExtractFilePath(ParamStr(0)) + 'firebird.dll';
Denn wenn du über VPN drauf zugreifst, kann es sein, dass <CurrentDirectory> nicht richtig gesetzt wird und du somit die Dll im Hauptverzeichnis NICHT laden kannst.

zeras 14. Aug 2011 17:59

AW: Programm startet nicht übers Netz
 
Zitat:

Zitat von Aphton (Beitrag 1116807)

Probier mal ähnliches
Delphi-Quellcode:
FirebirdDll := ExtractFilePath(ParamStr(0)) + 'firebird.dll';
Denn wenn du über VPN drauf zugreifst, kann es sein, dass <CurrentDirectory> nicht richtig gesetzt wird und du somit die Dll im Hauptverzeichnis NICHT laden kannst.

Aber was ist FirebirdDLL für eine Variable? Die gibt es bei mir nicht. Die Komponenten, die ich nutze, sind alle von Interbase, nur die DLL ist von Firebird (embedded).

Aphton 14. Aug 2011 18:31

AW: Programm startet nicht übers Netz
 
Das ist ein String. Ich meinte es so, dass du beim Laden der Funktionen aus der Dll eben denn vollen Pfad bzw Dateinamen angibst. Dies erreichst du eben mit der zuvor genannten Methode.

Edit:
Oder kopier die Dll in einen Ordner, der in irgendeiner Umgebungsvariable definiert ist. Dann wird sie auch wieder gefunden.

jaenicke 14. Aug 2011 19:45

AW: Programm startet nicht übers Netz
 
Hast du denn mal mit dem Process Monitor geschaut von wo die DLLs versucht werden zu laden?

zeras 14. Aug 2011 19:57

AW: Programm startet nicht übers Netz
 
Zitat:

Zitat von jaenicke (Beitrag 1116831)
Hast du denn mal mit dem Process Monitor geschaut von wo die DLLs versucht werden zu laden?

Sorry, die Frage hatte ich dann doch übersehen.
Da es mein Arbeitslaptop ist, darf ich da nicht solche Sachen installieren, wie den Process Monitor. Da muss ich erst mit meiner IT sprechen. Werde das dieser Tage mal tun.
Oder ist der Process Monitor doch irgendwo auf einem XP System? Ich habe noch einen neuen bekommen mit WIN 7. Ist da vielleicht der Monitor drauf? Dann könnte ich damit testen.

jaenicke 14. Aug 2011 20:33

AW: Programm startet nicht übers Netz
 
Installiert werden muss der nicht, das ist nur ein Zip-Archiv; die Exe muss aber mit Administratorrechten gestartet werden. Herunterladen kannst du ihn hier bei Microsoft:
http://technet.microsoft.com/de-de/s...rnals/bb896645


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz