Veröffentlicht 11. September 200124 j hallo leude, ich bin dabei ein programm zu schreiben, welches nach möglichkeit unter win2k wie unter win9x und auch winnt laufen sollte. problem ist, das ich einige funktionen nutze, die bloß win2k versteht. meine frage ist nun, kann ich in einer exe zwei programme unterbringen, die jenachdem welche windowsversion gerade lauft gestartet wird. in etwa so if (WINVER==0x500) { int WINAPI WinMain (...) {} } else { int WINAPI WinMain (...) {} } <FONT COLOR="#a62a2a" SIZE="1">[ 11. September 2001 14:13: Beitrag 1 mal editiert, zuletzt von maddin ]</font>
11. September 200124 j Hi, so gehts nicht. Entweder über den Präprozessor: #ifdef WINVER 0x500 Winapi( ) { } #else Winapi( ) { } #endif Hier mußt du aber zweimal kompilieren und kriegst auch zwei Programme. Oder Winapi() { if (winver == 0x500 ) { //irgendwas für Windows 2000 } else { //irgendwas für di anderen } } Hoagi
12. September 200124 j Wie Hoagi schreibt, ist eine Möglichkeit, allerdings kriegst du dabei extrem schlecht wartbaren Code. Wenn es Funktionen gibt, die dieselbe Funktionalität für win9x bieten, solltest du nur diese benutzen, wenn nicht gewichtige Gründe dafür sprechen, doch die w2k features zu verwenden. Du läufst sonst Gefahr, doch für irgendwelche Plattformen Sachen inkompatibel hinzubekommen, und das sage ich eher als Anwnder, der sich öfters über schlechte Implementationen in dieser Richtung ärgert. Gruß, Der Käptn
12. September 200124 j @captain haddock habe ich auch schon dran gedacht. das ist eben die tatsache mit den funktionen. aber ihr könnt euch ja mal versuchen. hier sind die beiden sündenböcke, die zwar unter win2k laufen aber nicht unter win9x bzw winnt die erste LockWortStation() -> läuft nur unter win2k. nt gegenstück gesucht. SetMenuInfo() -> läuft bloß mit win2k || win98. gegenstück gesucht.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.