Supportnet / Forum / Anwendungen(Java,C++...)
EOleSysError im modul bms.exe bei 0002D50D
Frage
Hi
ich habe ein kleines Programm mit TCP/IP geschrieben (mit Delphi 3 und dessen Komponenten). Bei meinem Computer (Win ME) läuft es ohne Probleme, aber bei dem anderen Computer (Win XP) läuft es nicht sondern sagt:
EOleSysError im modul bms.exe bei 0002D50D. Bei Delphi sind ja auch Beispiel TCP/IP Programme dabei, und die
melden bei dem XP Rechner das Gleiche aber beim ME Rechner laufen sie. Die anderen Sachen die ich bis jetzt programmiert habe laufen aber auf beiden, also immer nur mit dem Internet Zeugs tritt der Fehler auf. (Übrigends ist auf dem XP Rechner kein MS Word installiert, weil da auch immer was mit OLE ist, aber das sollte ja eigentlich keinen Unterschied machen, zumal beim XP Rechner die Programme wie ICQ laufen. Die sind aber wahrscheinlich auch nicht auf die Komponenten von Delphi 3 aufgebaut). Egal, kann mir jemand helfen????
Antwort 1 von FrankieH
Direkt helfen nicht, aber Tost spenden :-)
1. Ist denn bms.exe Deine Anwendung?
2. Hast Du auf dem WinME-Rechner die Delphi-Entwicklungsumgebung und auf dem XP-Rechner nicht?
3. Hast Du es schon mal auf einem anderer ME-Rechner versucht? Oder unter W2K?
Letztendlich:
Schau mal in die Delphi-Hilfe, was EOleSys überhaupt ist, denn in der Win-API gibt es das nicht.
Schon mal den Debugger angeworfen um nachzusehen, was konkret an der angegebenen Adresse passiert?
HTH (ein bissel wenigstens)
Frank
Schau mal in die Delphi-Hilfe, was EOleSys überhaupt ist, denn in der Win-API gibt es das nicht.
HTH (ein bissel wenigstens)
Frank
Antwort 2 von shrike
Dieser Fehler kann z.B. auftreten, wenn du in deinem Programm irgendein ActiceX-Control (.OCX) verwendest, das auf dem Zielrechner nicht vorhanden ist. Ich nehme an, es ist eine der Internet-Komponenten (FTPCT.OCX, HTML.OCX, HTTPCT.OCX, NNTPCT.OCX, POPCT.OCX, SMTP.OCX).
Du müßtest sicherstellen, daß die betreffende Datei(en) auf dem Zielrechner vorhanden sind (z.B. im System-Verzeichnis, bei XP "System32") und korrekt registriert wurden. Eine solche Komponente kannst du mit dem Befehl "REGSVR32.EXE" auf dem Zielrechner registrieren, z.B.
regsvr32 Lw:\Pfad\Beispiel.ocx
Kannst auch probieren, die OCX-Dateien in dein Programmverzeichnis zu nehmen (wenn du sie nicht ins System-Verzeichnis kopieren willst). Sollte eigentlich auch gehen.
Ebenfalls HTH ;-)
shrike
Du müßtest sicherstellen, daß die betreffende Datei(en) auf dem Zielrechner vorhanden sind (z.B. im System-Verzeichnis, bei XP "System32") und korrekt registriert wurden. Eine solche Komponente kannst du mit dem Befehl "REGSVR32.EXE" auf dem Zielrechner registrieren, z.B.
regsvr32 Lw:\Pfad\Beispiel.ocx
Kannst auch probieren, die OCX-Dateien in dein Programmverzeichnis zu nehmen (wenn du sie nicht ins System-Verzeichnis kopieren willst). Sollte eigentlich auch gehen.
Ebenfalls HTH ;-)
shrike
Antwort 3 von Claas
Zu Frank: Ich habe Delphi nur auf dem ME Rechner installiert, aber es kann ja wohl nicht sein, dass alle anderen das auch brauchen.
Zu strike:
die dateien waren in der tat nicht da.
allerdings verweigert sich regsvr32.exe. Es sagt immer LoadLibrary("C:\Windows\system32\FTPCT.ocx")fehlgeschlagen - Das angegebene Modul wurde nicht gefunden. Aber der Pfad stimmt, und ich habe es dorthinkopiert. Das macht der bei allen von den .ocx dateien, die ich kopiert habe.
Zu strike:
die dateien waren in der tat nicht da.
allerdings verweigert sich regsvr32.exe. Es sagt immer LoadLibrary("C:\Windows\system32\FTPCT.ocx")fehlgeschlagen - Das angegebene Modul wurde nicht gefunden. Aber der Pfad stimmt, und ich habe es dorthinkopiert. Das macht der bei allen von den .ocx dateien, die ich kopiert habe.
Antwort 4 von shrike
Ich glaube, du brauchst noch die NMOCOD.DLL und mußt diese vor allen anderen Komponenten registrieren.
Also kopiere die mal noch und dann
regsvr32 Lw:\Pfad\nmocod.dll
Danach nochmal versuchen, die OCX zu registrieren.
shrike
Also kopiere die mal noch und dann
regsvr32 Lw:\Pfad\nmocod.dll
Danach nochmal versuchen, die OCX zu registrieren.
shrike
Antwort 5 von Claas
strike,
leider kommt bei der nmocod.dll genau das gleiche. wenn ich den befehl übrigends bei anderen dll's ausführe die da schon drin sind (z.B. netshell.dll) gehts. ist irgendwie komisch.
leider kommt bei der nmocod.dll genau das gleiche. wenn ich den befehl übrigends bei anderen dll's ausführe die da schon drin sind (z.B. netshell.dll) gehts. ist irgendwie komisch.
Antwort 6 von shrike
Hmm, es gibt noch andere NetMasters-DLL's, die evtl. dazugehören:
NMSCKN.DLL
NMFTPSN.DLL
NMW3VWN.DLL
NMORENU.DLL
Könntest die noch testen...
Ich habe die TCP-Komponenten selbst noch nie verwendet, deshalb auch nur meine Probier-Vorschläge. Sozusagen "Trial & Error" ;-)
shrike
NMSCKN.DLL
NMFTPSN.DLL
NMW3VWN.DLL
NMORENU.DLL
Könntest die noch testen...
Ich habe die TCP-Komponenten selbst noch nie verwendet, deshalb auch nur meine Probier-Vorschläge. Sozusagen "Trial & Error" ;-)
shrike
Antwort 7 von FrankieH
@Claas zur Delphi-Entwicklungsumgebung
Bei manchen Compilern (Borland, Watcom z.B.) müssen mitunter DLLs mitgeliefert werden. Dachte, dass das der Grund sein könnte. Auch Microsoft erfordert beispielsweise für manche Dinge den IE 5.0 umd ein Programm überhaupt auszuführen (für die Symbolleisten im Office-Look).
Zu Shrikes Vorschlägen - fehlt da auf dem XP-Rechner nicht eine Komponente, die man nachinstallieren kann?
Weiterhin viel Spass beim Probieren!
Frank
Bei manchen Compilern (Borland, Watcom z.B.) müssen mitunter DLLs mitgeliefert werden. Dachte, dass das der Grund sein könnte. Auch Microsoft erfordert beispielsweise für manche Dinge den IE 5.0 umd ein Programm überhaupt auszuführen (für die Symbolleisten im Office-Look).
Zu Shrikes Vorschlägen - fehlt da auf dem XP-Rechner nicht eine Komponente, die man nachinstallieren kann?
Weiterhin viel Spass beim Probieren!
Frank