Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#38

Re: Entwicklung für Vista und XP

  Alt 6. Aug 2006, 15:07
Zitat von MathiasSimmack:
bei der Delphi-Version machen würde. Aber das klappt nicht. Wo liegt mein Denkfehler?
Dein Denkfehler ist, das du den String "104" übergibst, anstatt dem Integer 104.
Du bräuchtest im Import nicht einmal string als typen nehmen sondern einfach direkt TaskDialogIcon.
Sicherheitshalber könntest du TaskDialogIcon so deklarieren, dass es von Int32 "ableitet", aber wirklich nötig sollte das nicht sein. Enum sind ja per default 32Bit-Integer.
Ungetestet, aber es sollte so gehen:
Code:
[DllImport(Win32Libraries.ComCtl32, CharSet = CharSet.Auto, SetLastError = true)]
internal static extern void TaskDialog(IntPtr hwndParent,
                                       IntPtr hInstance,
                                       string pszWindowTitle,
                                       string pszMainInstruction,
                                       string pszContent,
                                       TaskDialogButtons dwCommonButtons,
                                       [MarshalAs(UnmanagedType.LPWStr)]
                                       TaskDialogIcon pszIcon,
                                       [In, Out]
                                       ref int pnButton);


public enum TaskDialogIcon : int
{
    Blank = 100,
    Warning,
    Question,
    Error,
    Information,
    BlankAgain,
    Shield
}
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat