SetClipboardViewer auf Fehler prüfen



  • Hallo!

    Ich habe ein Problem mit SetClipboardViewer. Diese Funktion gibt auch NULL zurück, wenn kein Fenster in der clipboard viewer chain ist. Weiterhin steht in der MSDN: "To get extended error information, call GetLastError."
    Das habe ich getan und erhalte den Fehlercode 2 (ERROR_FILE_NOT_FOUND). Daraus kann ich mir irgendwie keinen Reim machen.

    Wenn alles glatt gelaufen ist, müsste doch der Last Error Code 0 sein, oder?



  • die funktion setzt den erorcode nicht wieder zurück. der fehler kann
    sonstwo herkommen, deine funktion hat ihn nicht verursacht



  • seterror schrieb:

    die funktion setzt den erorcode nicht wieder zurück. der fehler kann
    sonstwo herkommen, deine funktion hat ihn nicht verursacht

    Also könnte ich z.B. um sicherzugehen, dass alles i.O. war vorher

    SetLastError(ERROR_SUCCESS);
    

    aufrufen, oder ist das "schlechter Stil"?


  • Mod

    HaJo. schrieb:

    Also könnte ich z.B. um sicherzugehen, dass alles i.O. war vorher

    SetLastError(ERROR_SUCCESS);
    

    aufrufen, oder ist das "schlechter Stil"?

    Nö. Warum! Ich benutze manchmal in internen Routinen auch SetLastError, wenn ich einen Erfolg, oder nicht Erfolg den darunterliegenden Routinen vorgaukeln möchte...

    Könnte aber auch sein, dass das bisherige Fenster evtl. nicht korreekt auf auf die Änderungsnachricht reagiert...
    Du hast einen korrekten Handler in WM_CHANGECBCHAIN?



  • Martin Richter schrieb:

    Könnte aber auch sein, dass das bisherige Fenster evtl. nicht korreekt auf auf die Änderungsnachricht reagiert...
    Du hast einen korrekten Handler in WM_CHANGECBCHAIN?

    Ja, der ist gültig.



  • Hmm... Kennt jemand dieses Problem? Wenn SetClipboardViewer NULL zurückgibt, ist immer der Last Error Code ERROR_FILE_NOT_FOUND gesetzt. Auch wenn ich vorher ::SetLastError(ERROR_SUCCESS); aufrufe?

    Kennt jemand dieses Problem?


Log in to reply