VBA-Call nach Mircosoft Office 2007 Installation: Datei nicht gefu

16/10/2007 - 15:55 von Dieter | Report spam
Hallo,

ich hoffe, jemand in diesem Forum hat eine Lösung für mein Problem.

Zusammenfassung:
Folgendes Problem resultiert aus der Installation von Microsoft Office 2007
(hier: Enterprise): Ein Call aus einer Microsoft-Access-MDE (geöffnet von der
Access97-Runtime) auf eine C-Dll im Arbeitsverzeichnis führt zu der Meldung:
"Datei nicht gefunden: myrw32.dll".

Die Konstellation:
- AccessRuntime (im shared Runtime-Verzeichnis) öffnet eine Access-MDE im
Arbeitsverzeichnis.
- Einige C-DLLs (Microsoft C 6.0, nur abhàngig von kernel32.dll und
ntdll.dll) mit komplexen Berechnungen werden in das Arbeitsverzeichnis
installiert. Die (native) C-Dlls laufen auch unter Unix, sie werden nicht
registriert und können sich auch nicht selbst registrieren.
- Das Arbeitsverzeichnis ist nicht in der Umgebungsvariablen Path.
- Der Prozeß befindet sich im Arbeitsverzeichnis (siehe
GetCurrentDirectory() aus kernel32).

Source code:
Declare Sub MyRW Lib "myrw32.dll" Alias "myAliasRW" (myrec As myrw_typ)
Call MyRW (srw_rec)

Return:
"Datei nicht gefunden: myrw32.dll".

Selbst wenn ich versuche, eine der Dlls mit LoadLibrary (mit vollem Pfad zur
DLL) zu laden, erhalte ich den Wert 0 im Handle.

Das Problem existiert sowohl unter Windows-XP als auch unter Windows-Vista,
hat als nichts mit der Virtualisierung zu tun. Die Software funktioniert,
wenn sie parallel mit àlteren Office Versionen (zum Beispiel 2003)
installiert wird. Sie funktioniert auch, wenn man Mircosoft Office 2007
wieder deinstalliert! Es sieht also so aus, dass irgend etwas aus der
Mircosoft Office 2007 Installation die Access-Runtime daran hindert, die DLL
in dem Arbeitsverzeichnis zu finden.

Die vorhandenen Workarounds sind nicht besonders empfehlenswert:
- Erweiterung der Umgebungsvariablen Path: Aufwand für die Hotline; und was
ist, wenn der Nutzer nàchstes Mal in einen anderen Pfad installiert?
- Installation der DLLs in das Runtime-Verzeichnis (Start-Verzeichnis):
Sollte man bei gemeinsam genutzten Verzeichnissen lieber unterlassen?
- Installation in die Windows-Verzeichnisse: Unter Vista mit UAC?

Mehr und mehr Anwender werden sich Office 2007 installieren. Das wird mein
Problem verschàrfen.

Was kann ich tun, damit die DLLs zuverlàssig im Arbeitsverzeichnis gefunden
werden?

Vielen Dank an die, die eine Antwort wissen, und an alle anderen, die bis
hier gelesen haben.

Gruß Dieter

P.S.: Ich habe den Beitrag von Thorsten Albers in "German\Developer\VB
Allgemein" gelesen, er hilft mir aber nicht richtig weiter.
 

Lesen sie die antworten

#1 Thomas Löwe [MS MVP Word]
16/10/2007 - 23:50 | Warnen spam
Hallo Dieter,

"Dieter" schrieb im Newsbeitrag
news:

Folgendes Problem resultiert aus der Installation von Microsoft Office
2007
(hier: Enterprise): Ein Call aus einer Microsoft-Access-MDE (geöffnet von
der
Access97-Runtime) auf eine C-Dll im Arbeitsverzeichnis führt zu der
Meldung:
"Datei nicht gefunden: myrw32.dll".



bitte stelle deine Anfrage in die Gruppe zu Microsoft Access:
news:microsoft.public.de.access.

Bei Fragen zu Microsoft Office stehen wir dir gerne zur Verfügung.

Mit freundlichen Grüßen,
Thomas Löwe [Microsoft MVP Word]
Bitte alle Supportanfragen in die Newsgroup stellen.
http://support.microsoft.com/defaul...;pr=kbinfo

Ähnliche fragen