MFC Anwendung unter WIndows NT 4.0 lauffähig???



  • Hallo,
    ich hab mit dem MS VC++ 6.0 eine dialogbasierte Anwendung erstellt (auf einem Win2000 Rechner.
    Die läuft auf diesem Rechner auch sehr gut.
    Nun wollte ich die Release auf einer Windows NT 4.0 Maschine testen und das Ding läuft nicht:-((
    (Alle nötigen DLL's hab ich mit ins Verzeichnis zur exe gepackt)
    Auf einem WinXP Prof. Rechner klappts ja auch (hier is VC++ auch nicht installiert)
    Ich bekomme immer diesen Fehler:
    Der Prozedureinstieg konnte nicht gefunden werden.
    Funzen MFC Anwendungen generell nicht unter Windows NT 4.0 oder woran könnte das denn liegen.

    Danke für jeden Rat



  • Funzen MFC Anwendungen generell nicht unter Windows NT 4.0 oder woran könnte das denn liegen.

    Sie funktionieren auch dort solange du keine APIs verwendest die es dort nicht gibt.

    Ist das wirklich die komplette Fehlermeldung oder hast du uns da was vorenthalten?



  • "Eigentlich" funktionieren sie.

    Allerdings gibt es einige Methoden, die erst ab bestimmten Betriebssystemen verfügbar sind.

    Ich würde Dir folgendes empfehlen:

    1. Deine Anwendung unter NT4.0 im Dependency Walker laufen lassen, da kriegste dann gezeigt welche Methoden in welchen DLLs nicht geladen werden konnten

    2. Nochmal in der MSDN nachzusehen, ob da etwas steht von der Version des OS

    3. Hier etwas mehr zu schreiben.

    Achja...Nur die DLLs in Dein Anwendungsverzeichnis zu stellen reicht nicht aus, sofern es sich um System-DLLs handelt, die schon vorher geladen wurden.

    Gruß
    Frenzy



  • Hallo,danke für die schnelle Antwort,
    Hier die einzige, komplette Meldung(is nicht besonders viel):

    "Der Prozedureinstiegspunkt __lc_collate_cp konnte in der Dynamic link library MSVCRT.dll nicht gefunden werden"

    Naja, das mit dem dependency walker wär ja nich schlecht, hab auf diesem System nur kein V Studio drauf.
    Das mit den SystemDLL' wusste ich gar nicht, wie kann ich denn das Problem umgehen.
    Weiss irgendwie gar nicht wie und wo ich anfangen soll.



  • gismo12d schrieb:

    Hallo,danke für die schnelle Antwort,
    Hier die einzige, komplette Meldung(is nicht besonders viel):

    "Der Prozedureinstiegspunkt __lc_collate_cp konnte in der Dynamic link library MSVCRT.dll nicht gefunden werden"

    Naja, das mit dem dependency walker wär ja nich schlecht, hab auf diesem System nur kein V Studio drauf.
    Das mit den SystemDLL' wusste ich gar nicht, wie kann ich denn das Problem umgehen.
    Weiss irgendwie gar nicht wie und wo ich anfangen soll.

    Der Dependency Walker setzt kein VS voraus? Den kannste Dir so herunterladen und ausführen.

    Zu Deiner Meldung:

    Wo verwendest du denn LC_COLLATE?



  • dann ist wahrscheinlich die MSVCRT.dll auf deinem NT zu alt. Update die mal. Nimm die von XP oder so.



  • Wo ich das LC_collate verwende? - seh ich zum erstem mal, und über die Suche im Projekt hab ichs auch nicht gefunden.

    Handelt es sich bei dieser DLL um eine Systemdll?
    Weil eigentlich hab ich diese dll in mein .exe Verzeichnis reingeschmissen.



  • Frenzy schrieb:

    Achja...Nur die DLLs in Dein Anwendungsverzeichnis zu stellen reicht nicht aus, sofern es sich um System-DLLs handelt, die schon vorher geladen wurden.

    Das zum beilegen der DLLs zu Deiner Exe 😉

    Das mit dem LC_COLLATE war nur eine Vermutung aufgrund der Fehlermeldung.
    Aber bevor wir hier lange herumsuchen lade Dir einfach mal den Dependency Walker und laß Dein Programm damit durchlaufen. Bzw. solltest Du beim Öffnen der Exe im DW schon die Fehler sehen.

    Im DW dann bei "Start profiling" alle Haken bis auf den unteren setzen und los gehts.



  • Hallo,
    habs jetz raus.
    Es is mind. SP 6a erforderlich.



  • gismo12d schrieb:

    Hallo,
    habs jetz raus.
    Es is mind. SP 6a erforderlich.

    und wie haste das nun herausgefunden? mit dem oben vorgeschlagenen tool?


Anmelden zum Antworten