Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#96

Re: Wo ist oder wie heißt die Funktion: SHMessageBoxCheck?

  Alt 6. Mai 2005, 14:03
Zitat von Mephistopheles:
Und so amateurhaft bin ich nun auch wieder nicht, daß ich nicht vorher SetLastError(ERROR_SUCCESS) setzen würde. Der Rückgabewert ist also irrelevant, weil der Fehler während des Aufrufs passiert sein muß.
Diese Implikation ist falsch, die Regeln sind laut API Dokumentation nunmal anders. Wer garantiert dir, dass LastError nach deiner Initialisierung nur dann verändert wird, wenn ein Fehler auftritt?

Sagst du mir bitte was folgendes Code-Fragment ausgibt, wenn du es in deinem Konsolprojekt ausführst?

Delphi-Quellcode:
var
  id: integer;
begin
  id := SHMessageBoxCheckW(0, 'Dies ist nur ein Testtext.',
    'Und dies ist der Titel', MB_OK or MB_ICONINFORMATION, IDNO,
    '2A622957-D0A5-41CA-8571-898247531A2C');
  if id = -1
    then Writeln('LastError = ', GetLastError())
    else WriteLn('ID = ', id);
  Readln;
end;
marabu
  Mit Zitat antworten Zitat