?
Hallo,
unter Verwendung des C++Builder6 und seiner Assistenten schreibe ich die C++Teile eines WebService. Es werden eine EXE (zum Debuggen) und eine DLL erzeugt. Die DLL wird mit Hilfe von Apache 1.3.27 geladen. Meine Frage:
Im WinMain der EXE wird eine Initialisierungs-Instance der Anwendung erzeugt, in deren CTor u.a. mit folgendem Code ein XML-Dokument gebildet werden soll:
...
myDocument = NewXMLDocument(); // MyDocument ist v. Typ _di_IXMLDocument
myDocument->LoadfromFile("config.xml");
...
Das funktioniert in der EXE bestens! Im Einsprungspunkt der DLL (DllEntryPoint) findet die Initialisierung auf gleiche Weise statt. Allerdings geht schon die Zeile 'NewXMLDocument()' schief. Woran kann das liegen und wel-
che Abhilfe gibt es?
(xml liegt im gleichen Verzeichnis, wie EXE/DLL)
In diesem Zusammenhang ist mir zusaetzlich aufgefallen, dass Umgebungsvariablen
mit Hilfe von GetEnvironmentVariable(..) ebenfalls nur in der EXE korrekt aus-
gelesen werden, in der DLL jedoch immer der Wert '0' zurueckgeliefert wird.
Gibt es dafuer eine Erklaerung und wie werden Umgebungsvariablen beim Laden
einer DLL ermittelt?
Mit der Bitte um Hilfe TIA
Guido
(gt@tisoware.com)