WinXP-Prog auch unter Win98 laufen lassen!
-
Hi,
Ich habe ein Programm entwickelt unter WinXP und möchte es auch unter Win98 laufen lassen. Wenn ich es nochmal unter Win98 compiliere kommt immer ein Fehler beim ausführen des Programms. Es liegt bestimmt am Monatskalender. Ich binde auch die Comdlg32.dll und Comctl32.dll ein die ich für den Monatskalender ja brauch. Win98 hat ja auch ein Monatskalender zwar nicht so schön aber egal. Ich weiß nicht ob es dazu schon was gibt. Habe zumindest nichts gefunden. Naja ich hoffe ihr könnt mir helfen!
MfG schirrmie
-
Wenn ich es nochmal unter Win98 compiliere kommt immer ein Fehler beim ausführen des Programms.
Schön das du uns die Fehlermeldung nennst.

-
Vielleicht guckst du auch einfach mal in der msdn unter deinen Kalender Funktionen nach. Da wird schon stehen welche Systeme unterstützt werden. Vielleicht findest du das Problem so ganz leicht selbst. Imho bringt es aber auch nichts ein Programm unter Win89 zu compilieren, nur damit es unter Win98 dann später läuft.
-
Ja also die Fehlermeldung kommt nicht beim compilieren sondern beim ausführen die typischen speicherfehler. Es ist ansich auch das Problem. Ich bekomme halt kein händle auf mein Dialog wo der Monatskalender drauf ist und da ich mit dem Dialog noch was machen will bekomm ich ein Fehler. Also das Hauptproblem ist das mit dem Monatskalender und das bei Win98 ich dann mein Dialog nicht erstellen kann. Hoffe könnt mir helfen.
MfG schirrmie
-
UNICODE?
-
InitCommonControls(Ex) vergessen?
-
Was soll ich damit anfangen UNICODE?
Und nein das habe ich nicht vergessen sonst würde es ja nicht bei winxp laufen ;).
MfG schirrmie
-
Wie schon gesagt: verwendest du UNICODE? Ansonsten solltest du mal versuchen den Fehler irgendwie einzugrenzen

-
Das Calender Control benötigt Version 4.71 der Comctl32.dll.
Ein aktuelles Platform-SDK vorausgesetzt, gilt folgender Auszug aus obigem Link:
MSDN schrieb:
If you do not define this macro in your project, it is automatically defined as 0x0500. To define a different value, you can add the following to the compiler directives in your make file; substitute the desired version number for 0x0400.
Um zu prüfen, ob Du Features von "höheren" DLL-Versionen benutzt, könntest Du als allererste Zeile in Deinem Quelltext
#define _WIN32_IE 0x0401angeben.
Benutzt Du nun Funktionen aus späteren Versionen als 4.71, bekommst Du vom Compiler Fehlermeldungen und Zeilennummern um die Ohren geschlagen, denn:
MSDN schrieb:
0x0401 - The application is compatible with Comctl32.dll and Shell32.dll version 4.72 and later. The application cannot implement features that were added after version 4.72 of Comctl32.dll.
-
Danke für die Antworten. Es reicht dann aber nicht nur meine Comctl32.dll von XP zu Win98 zu kopiern oder?
MfG schirrmie
-
Nein das geht nicht und ist sogar verboten, wenn du die Anwendung mit der Datei weitergibst.
Installier einfach einen neuen Internet Explorer oder such auf den Microsoft Seiten nach einem Paket was du weitergeben darfst.
http://www.mvps.org/vcfaq/sdk/14.htm
(Der Link auf der Seite funktioniert nicht mehr)
-
Auf der Platform SDK Seite bei Microsoft findet man die Redist-Versionen...