GetWindowLongPtr unter VC++6?



  • Hi,

    ich habe ein paar Klassen zuhause geschrieben die ich dringendst für die Arbeit brauche, leider musste ich heute auf der Arbeit feststellen das GetWindowLongPtr unter VC++6.0 nicht existiert aber zuhause auf VC++7.0 😞

    Da unser Chef es ja nicht für Nötig hält uns mal aktuellere DevSoftware zu besorgen muss ich damit leider auskommen 😞

    Ich würde gerne wissen ob es für GetWindowLongPtr irgendeine art "Port" gibt oder eine art "Hack" womit ich das selbe erreiche wie hier:

    reinterpret_cast<::HINSTANCE__*>(::GetWindowLongPtr(hwnd_, GWLP_HINSTANCE));
    

    Bitte sagt nicht "globale variable" oder "parameter übergeben". Das würde das Konzept von mir und 3 anderen total über den Haufen werfen! Dies zu "kompensieren" wäre ein recht Teurer Aufwand (Nicht nur an Zeit sondern auch an Geld!).

    Hat jemand eine gute Idee?



  • Da es sich wie du schon richtig bemerkt hast um eine API-Funktion handelt, hat
    VC6 direkt nicht damit zu tun. Am besten lädst/installierst du ein aktuelles SDK
    und gut ist.
    Alernativ kannst du natürlich auch die "Original-Version" der Funktion verwenden
    die da heisst GetWindowLong().



  • ''' schrieb:

    Ich würde gerne wissen ob es für GetWindowLongPtr irgendeine art "Port" gibt oder eine art "Hack"

    Naja, mit einem Hack kann ich dir helfen 🙂

    #if defined _MSC_VER && _MSC_VER < 1300
        #define GetWindowLongPtr GetWindowLong
        #define GWLP_HINSTANCE GWL_HINSTANCE
    #endif
    

    Ansonsten, wie bereits erwähnt, das aktuelle PlatformSDK runterladen. Bin mir allerdings nicht sicher, ob es diesbzgl. mit VC6 Probleme gibt.



  • The latest Platform Development Kit doesn't support Visual C++ version 6 as support for VC 6.0 has ended! The last SDK that will work with VC 6.0 is the February 2003 Edition.



  • tttttttttt schrieb:

    The last SDK that will work with VC 6.0 is the February 2003 Edition.

    Und das war bis letzten Monat das aktuellste. Wo ist das Problem?



  • MSDN schrieb:

    Und das war bis letzten Monat das aktuellste. Wo ist das Problem?

    Das kann nicht sein. Immerhin hab ich auf meinem Rechner eine Version von August 2004.



  • Das ist die Version für Win XP SP2 (und NUR dafür).

    Sie ersetzte NICHT die Version vom Februar 2003, sondern galt als Zusatz. Du kannst mit dem August 2004 (WinXP SP2) alleine keine Anwendungen für Win2000 oder NT erstellen. Dafür brauchtest Du immer das SDK Deiner IDE oder das vom Februar 2003 (oder eben ein älteres heruntergeladenes) dabei...



  • Ich hab auch das "August 2004er WinXP SP2" Platform SDK drauf und nutze das in MSVC6, bisher keine Probleme festgestellt...



  • MSDN schrieb:

    Das ist die Version für Win XP SP2 (und NUR dafür).

    Sie ersetzte NICHT die Version vom Februar 2003, sondern galt als Zusatz. Du kannst mit dem August 2004 (WinXP SP2) alleine keine Anwendungen für Win2000 oder NT erstellen. Dafür brauchtest Du immer das SDK Deiner IDE oder das vom Februar 2003 (oder eben ein älteres heruntergeladenes) dabei...

    lol



  • Was lachst Du?

    Microsoft Platform SDK, Windows XP SP2 August 2004 Edition

    Newly released:

    The Platform SDK for Windows® XP Service Pack 2 support (includes MDAC 2.8, Tablet 1.7 and Windows Installer 3.0)

    The XPSP2 version of the Platform SDK was developed to work either side by side with the Windows Server 2003 SDK or standalone but will not provide build environments for:

    Windows Server 2003
    Windows Advanced Server, Limited Edition
    Windows XP
    Windows XP 64-bit Edition
    Windows 2000
    Windows NT® versions 3.51 and 4.0
    Windows Millennium Edition
    Windows 95 and Windows 98
    You must install The Microsoft® Platform Software Development Kit (SDK) for Windows Server 2003 for those environments

    Quelle

    Du kennst Dieter Nuhr? Also, halte Dich das nächste Mal dran...



  • Wie wollen die denn verhindern das die Anwendungen auf Windows 2000 oder NT laufen?



  • ...was verstehen die denn genau unter "Build Environments" ?


Anmelden zum Antworten