Supportnet / Forum / Anwendungen(Java,C++...)
Windows98-Programm unter Windows XP läuft nicht
Frage
Hi!
Ich habe ein dickes Problem: Ich habe ein Programm mit Visual Basic unter Windows 98 programmiert, welches auch auf anderen Rechner mit Windows 98 läuft. Aber sobald ich das Programm unter Windows XP laufen lassen, erscheint ein "Laufzeitfehler". Woran könnte das liegen? Braucht Windows XP noch weitere oder andere Dateien (z.B. Dll-Dateien)?
Schonmal Danke im Vorraus!
Gruß Bernie
Antwort 1 von Bernie
Ist es denn allgemein so, dass VB-Programme auch unter Windows XP laufen müssen?
Gruß Bernie
Gruß Bernie
Antwort 2 von _gau_
Hmm, ist aus der Ferne nicht so einfach zu sagen.
Du bist der Entwickler, also müßtest du am besten wissen, auf welche Librarys, ActiveX-Komponenten u.ä. dein Programm zugreift.
Für Standard-VB-Anwendungen sollten die normalen VB-Runtime-Komponenten jedenfalls ausreichen. Diese müßte man evtl. noch auf dem Rechner installieren. Natürlich abhängig von der Version (VB4, VB5, VB6 usw.)
Ein Setup-Packet müßtest du aber haben, da du ja die VB-Entwicklungsumgebung hast. Sollte auch in der Hilfe nachzulesen sein.
Natürlich kann es auch sein, du greifst auf eine Windows98-Funktion zu, die es bei WinXP nicht gibt. Aber wie gesagt, das kann man als Außenstehender natürlich nicht genau beurteilen...
[gau]
Du bist der Entwickler, also müßtest du am besten wissen, auf welche Librarys, ActiveX-Komponenten u.ä. dein Programm zugreift.
Für Standard-VB-Anwendungen sollten die normalen VB-Runtime-Komponenten jedenfalls ausreichen. Diese müßte man evtl. noch auf dem Rechner installieren. Natürlich abhängig von der Version (VB4, VB5, VB6 usw.)
Ein Setup-Packet müßtest du aber haben, da du ja die VB-Entwicklungsumgebung hast. Sollte auch in der Hilfe nachzulesen sein.
Natürlich kann es auch sein, du greifst auf eine Windows98-Funktion zu, die es bei WinXP nicht gibt. Aber wie gesagt, das kann man als Außenstehender natürlich nicht genau beurteilen...
[gau]
Antwort 3 von Jeff
Win XP hat einen Kompatibilitätsmodus, der eigentlich auch ganz gut funktioniert.
Meist ist es aber besser gleich beim Setup die Datei re. Maus klicken und <Eigenschaften Kompatibilitätsmodus> auswählen.
Danach Setup starten. Funktioniert bei mir hervorragend, auch mit Progs die nicht mal unter W2K laufen.
Gruß
Jeff
Meist ist es aber besser gleich beim Setup die Datei re. Maus klicken und <Eigenschaften Kompatibilitätsmodus> auswählen.
Danach Setup starten. Funktioniert bei mir hervorragend, auch mit Progs die nicht mal unter W2K laufen.
Gruß
Jeff
Antwort 4 von Bernie
Hi!
Zum Setup: Da mein Programm direkt von der CD startet (also ohne installieren) kann ich das Programm gar nicht installieren. Ich habe einfach alle dll-Dateien, die das SETUP-Programm gewählt hat in das Hauptverzeichnis meines Programmes auf der CD kopiert. Die CD läuft auch bei anderen Computer, die kein VB haben, sehr gut, solang sie Windows 98 besitzen. Das Ulkige ist, dass das Programm erst startet und dann nach ein paar Sekunden abbricht.
Das Programm lässt am Anfang eine Sound-Datei abspielen und die wird auch abgespielt. Also kann es daran nicht liegen. Da die Fehlermeldung ja auch ein "Laufzeitfehler" anzeigt, weckt es bei mir eher den Eindruck, dass dort ein Programmierfehler vorliegt. Nun stellt es mir die Frage was es sein kann, da es ja unter Windows 98 einwandfrei funktioniert.
Gruß Bernie
Zum Setup: Da mein Programm direkt von der CD startet (also ohne installieren) kann ich das Programm gar nicht installieren. Ich habe einfach alle dll-Dateien, die das SETUP-Programm gewählt hat in das Hauptverzeichnis meines Programmes auf der CD kopiert. Die CD läuft auch bei anderen Computer, die kein VB haben, sehr gut, solang sie Windows 98 besitzen. Das Ulkige ist, dass das Programm erst startet und dann nach ein paar Sekunden abbricht.
Das Programm lässt am Anfang eine Sound-Datei abspielen und die wird auch abgespielt. Also kann es daran nicht liegen. Da die Fehlermeldung ja auch ein "Laufzeitfehler" anzeigt, weckt es bei mir eher den Eindruck, dass dort ein Programmierfehler vorliegt. Nun stellt es mir die Frage was es sein kann, da es ja unter Windows 98 einwandfrei funktioniert.
Gruß Bernie
Antwort 5 von Jeff
Vielleicht ist das ja auch das Problem.
Wenn Du das Proggy auf 98 geklimpert hast und auch die 98 dlls kopiert hast fehlen dir wahrscheinlich die ein oder andere Dll bzw liegen in einer falschen Version vor.
Hast Du die möglichkeit das Setup für dein Programm auf XP zu wiederholen und das dann zu brennen (sozusagen als XP-Version)?
Viel Erfolg
Gruß
Jeff
Wenn Du das Proggy auf 98 geklimpert hast und auch die 98 dlls kopiert hast fehlen dir wahrscheinlich die ein oder andere Dll bzw liegen in einer falschen Version vor.
Hast Du die möglichkeit das Setup für dein Programm auf XP zu wiederholen und das dann zu brennen (sozusagen als XP-Version)?
Viel Erfolg
Gruß
Jeff
Antwort 6 von Bernie
Danke für den Tipp. Ich muss mal gucken ob ich ein Laptop mit Windows XP organisieren kann.
Schreibt mir aber trotzdem bitte noch. Denn diese möglichkeit erscheint mir doch etwas schwierig.
Gruß Bernie
Schreibt mir aber trotzdem bitte noch. Denn diese möglichkeit erscheint mir doch etwas schwierig.
Gruß Bernie
Antwort 7 von Casvil
Eigentlich sollte es so auch funzen. Wenn du denkst du hast einen Programmierfehler gemacht, dann schreib doch mal wo DU ihn vermutest, oder allgemein was dein Prog macht(ausser die eine Datei abspielen.
So LOng
©as
So LOng
©as
Antwort 8 von Bernie
Hi!
Mein Programm benötigt folgende Dll-Dateien, die ich nicht auf die Cd gebrannt habe. Kann einer bitte mal nach den Dateien suchen? Natürlich nur die, die kein Visual Basic besitzen und Windows XP besitzen. Die Dateien heißen: shell32.dll, kernel32, winmm.dll. Wenn sie nicht vorhanden sind, könnte dies die Lösung sein.
Gruß Bernie
Mein Programm benötigt folgende Dll-Dateien, die ich nicht auf die Cd gebrannt habe. Kann einer bitte mal nach den Dateien suchen? Natürlich nur die, die kein Visual Basic besitzen und Windows XP besitzen. Die Dateien heißen: shell32.dll, kernel32, winmm.dll. Wenn sie nicht vorhanden sind, könnte dies die Lösung sein.
Gruß Bernie
Antwort 9 von Jeff
Also, nix für ungut, aber .dll Dateien suchen kannst Du bei Google.
Viel Erfolg
Jeff
Viel Erfolg
Jeff
Antwort 10 von _gau_
Also, nix für ungut, aber die angesprochenen DLL's sind bei XP vorhanden und brauchen nicht mit Google oder sonstwas gesucht werden ;-)
Natürlich sind es andere Versionen als bei Win98 und enthalten demzufolge nicht unbedingt die gleichen Funktionen oder die Funktionen benötigen vielleicht andere Parameter, oder oder ...
[gau]
Natürlich sind es andere Versionen als bei Win98 und enthalten demzufolge nicht unbedingt die gleichen Funktionen oder die Funktionen benötigen vielleicht andere Parameter, oder oder ...
[gau]
Antwort 11 von Alf
Also wenn du Visual Studio 6.0 auf dem Rechner hast, gibt es das nette Programm "dependencies.exe" (oder so), was herausfindet, welche Dateien das Programm benötigt. Ganz easy.
Antwort 12 von Bernie
Hi das Problem habe icg gelöst. Alle Dll-Dateien kopiert nun mein Programm in das Windows System Verzeichnis. Außerdem habe ich Fehlerbehandlungsabschnitte eingebaut. Jetzt läuft es auch unter XP.
Danke für eure Hilfe
Gruß Bernie
Danke für eure Hilfe
Gruß Bernie
Antwort 13 von Marie
Also ich kann mir kaum vorstellen, dass Du zum Beispiel die kernel32 in WinSys kopieren kannst während Windows läuft. Und wenn doch, dann solltest Du das tunlichst unterlassen. Du kannst doch nicht einfach irgendwelche Systemdateien in einer anderen und eventuell sogar noch niederern Versionen auf einem Rechner überschreiben. Da kannst Du ganz schön Ärger kriegen, wenn dann was anderes nicht mehr läuft. Die Kernel32 ist eine Windows-Datei und keine VB-Datei. Und die winmm.dll ist vom Media-Player oder sowas, in jedem Fall auch keine VB-Datei.
Du solltest Dich mal kundig machen welche Dateien Du überhaupt weitergeben kannst und welche nicht und nicht einfach irgendwelche Dateien bei jemand anderem auf dem Rechner ins Systemverzeichnis schreiben. Da kannste ganz schön Ärger kriegen.
Gruß Marie
Du solltest Dich mal kundig machen welche Dateien Du überhaupt weitergeben kannst und welche nicht und nicht einfach irgendwelche Dateien bei jemand anderem auf dem Rechner ins Systemverzeichnis schreiben. Da kannste ganz schön Ärger kriegen.
Gruß Marie
Antwort 14 von Bernie
Nein. Die Dateien die kopiert werden, wurde vom "Verpackungs- und Weitergabenassistent" von VB vorgeschlagen. Mein Programm kopiert zwar die Dateien, aber auch nur wenn die Datei noch nicht exisitert. Damit wäre auch das Problem gelöst, das ich keine gerade Benutzten Dateien überschreiben kann.
Gruß Bernie
Ps: Ich kopiere natürlich nicht die kernel32-Datei.
Gruß Bernie
Ps: Ich kopiere natürlich nicht die kernel32-Datei.
Antwort 15 von Marie
Na dann is ja gut :-)

