„Fand ein falsches Argument“, um eine Windows XP MFC-Band-Anwendung ausgeführt werden

StackOverflow https://stackoverflow.com/questions/514535

  •  21-08-2019
  •  | 
  •  

Frage

Ich habe eine Band-Anwendung auf Vista VS entwickeln 2008. Es funktioniert auf Vista in Ordnung. Ich verbinde MFC statisch, so dass ich es auf XP laufen.

Aber wenn ich es auf XP laufen, bringt es ein Dialogfeld sagen: „Eine erforderliche Ressource unavailble war“. Später, wenn ich auf diesem Dialog OK drücken, bringt es ein anderes sagen „Findet ein falsches Argument“ auf. Viele solcher ( „Fand ein ....“) Dialoge folgen (nacheinander), bis ich es von der Task-Manager beenden.

Interessante, was mir auffiel ist, dass dieses Szenario tritt auf, wenn ich lege einfach den Mauszeiger über die Multifunktionsleiste. Ich tue nichts anderes. Dann öffne ich den Task-Manager und sehen, dass der Speicher verwendet wird, mit jeder Sekunde um 8 Bytes erhöht. Schließlich durch das obige Szenario gefolgt.

?????

War es hilfreich?

Lösung 2

Es gab eine Ressource-Leck in meinem Code, der dieses Problem verursacht wurde.

Ich hatte GetDC (), während die Aktualisierung der Optionsleiste Kontrollen (ON_UPDATE_COMMAND_UI) genannt, aber hatte es nicht freigegeben. Loslassen mit ReleaseDC (..) das Problem behoben.

Danke für alle Antworten.

Andere Tipps

Es kann gut sein, dass das Band ein Teil der Win32 gemeinsamen Kontrollen in Vista (daher nicht unter XP) ist. Mit anderen Worten, wenn Sie statisch MFC verknüpft haben, kann es nicht MFC sein, die die Ressource Sie suchen halten.

Machen Community Wiki, da ich wirklich keine Ahnung, ob dies richtig ist: -).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top