Zitat von
Sprint:
Zitat:
Du bietest eine Variation des Codes von weiter oben an, der auf meiner Konfiguration (die der von "Blutiger Anfänger" zu gleichen scheint) ebenso nicht funktioniert.
Warum sollte mein Beispiel nicht funktionieren?
Wenn wir das wüßten, wären wir ein Stück weiter. Es funktioniert wie alle anderen bisherigen Beispiele, ob nun mit Ordinal 191 oder 185,
nicht auf WXP SP1!
Zitat von
Sprint:
Ein direkter Aufruf von SHMessageBoxCheckA ist auf meinem Windows XP SP2 System auch nicht möglich, da dieser Funktionsname in meiner
DLL nicht vorhanden ist.
Korrekt, weil sie nur über die Ordinal exportiert wird.
Zitat von
Sprint:
Und es gibt noch eine weitere lauffähige Variante. Aber sieht für mich nicht so aus, als würdest du daran interesse haben.
Interesse schon,
wenn sie denn diesmal läuft. Wir haben bekanntlich (s.o.) sowohl die
Unicode- als auch die
Ansi-Variante getestet und sie funktionierte komischerweise auf
W2K (tut deine auch), aber nicht auf WXP SP1 (tut deine auch nicht), jedoch wieder auf WXP SP2 (habe ich nicht, müßte jemand anderes testen).
Jedenfalls ist der Fehler, den OPA (aka Blutiger Anfänger) entdeckt hat reproduzierbar auf XP SP1 (im speziellen auf meinem System).
Die Funktion wird eindeutig aufgerufen (habe ich im Debugger/Disassembler live unter XP SP1 nachgewiesen), jedoch tut sie ihren Job nicht korrekt, weshalb ich sogar
meine Analyse als IDC-Datei weiter oben offengelegt, falls jemand weiter in die Tiefe gehen will.
Unter einem frisch installierten Windows 95 funktioniert es tatsächlich nicht, da es dort nur bis Ordinal 144 geht, wobei alle Funktionen außer 1 und 2 mit Namen exportiert werden. Dort ist die SHLWAPI (nur zur Veranschaulichung) auch nur 36864 Bytes groß. Unter frisch installiertem Windows ME funktioniert es - Windows 98 kann ich mangels vorhandener Installation aktuell nicht testen! Ja, sogar auf einem frisch installierten NT4 (maximal SP1) funktioniert der Aufruf ohne Probleme.