Autor |
Beitrag |
uko
      
Beiträge: 220
Erhaltene Danke: 1
Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
|
Verfasst: Mo 04.12.06 14:42
Hallo,
Ich versuche gerade, unter Delphi 7 den neuen TaskDialog von Vista zum Laufen zu bringen. Ich kenn zwar die Komponente von TMS und deren Artikel dazu, aber aus irgendeinem Grund funktionieren die bei mir nicht. Ich bekomme immer die falschen Icons im Dialog (Sterne, Dokument, ... anstatt Fragezeichen, Ausrufezeichen).
Hat hier schon mal jemand eine funktionierende Variante zustande gebracht? Oder eine Codefragment, wie man den neuen Taskdialog richtig ansprechen muß?
Meine Entwicklungsumgebung: D7 Prof unter Win2000 mit TMS Taskdialog 1.0.4
Grüsse,
Ulrich
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 04.12.06 14:51
|
|
uko 
      
Beiträge: 220
Erhaltene Danke: 1
Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
|
Verfasst: Mo 04.12.06 15:23
Danke für den Tip. Leider funktioniert die Demo des Artikels auch nicht und die Icons passen wieder nicht.
Ich hab es mit der vorkompilierten Exe und dem mitgelieferten Manifest probiert. Anstatt dem Fragezeichen bei 'Exception auslösen' bekomme ich ein Dokumentbildchen und anstatt dem FehlerIcon ein Icon ähnlich dem für Komponentendienste (in W2000).
Das Vista (RTM / Ultimate / Deutsch) hab ich heute morgen frisch auf einem Testrechner aufgesetzt und noch keinerlei sonstige Software drauf installiert.
Das gleiche Problem hab ich auch in einer VM mit Vista RC2.
grüsse,
Ulrich
Einloggen, um Attachments anzusehen!
|
|
uko 
      
Beiträge: 220
Erhaltene Danke: 1
Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
|
Verfasst: Di 05.12.06 11:28
Hallo,
könnte bitte mal jemand das angehängte Testprogramm (in exchange.zip) unter Vista laufen lassen und prüfen, ob die Icons der Dialoge richtig angezeigt werden?! (Button 'dynamic call')
Danke,
Ulrich
Einloggen, um Attachments anzusehen!
|
|
MagicAndre1981
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 05.12.06 14:52
nope, geht nicht unter der RTM (connect-image).
MS hat die Deklaration der IDI_xxx verändert. Die aktuellen Wertte bekommst du aus dem WindowsSDK (Winuser.h). Nachdem ich die Werte geändert habe geht es wieder.
|
|
uko 
      
Beiträge: 220
Erhaltene Danke: 1
Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
|
Verfasst: Di 05.12.06 15:13
Könntest Du mal Code von Dir posten, damit ich es mit meinem Zeug vergleichen kann? Wenn ich nicht das völlig falsche SDK gekriegt hab, dann ist in der WinUser.h nämlich nur das IDI_SHIELD (32518) dazu gekommen, die anderen Werte aber gleich geblieben!
Danke,
Ulrich
|
|
MagicAndre1981
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 05.12.06 15:35
dann hast du ein älteres SDK und nicht das SDK Build 6000.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39:
| #ifndef NOICONS
#ifdef RC_INVOKED #define IDI_APPLICATION 32512 #define IDI_HAND 32513 #define IDI_QUESTION 32514 #define IDI_EXCLAMATION 32515 #define IDI_ASTERISK 32516 #if(WINVER >= 0x0400) #define IDI_WINLOGO 32517 #endif /* WINVER >= 0x0400 */ #if(WINVER >= 0x0600) #define IDI_SHIELD 32518 #endif /* WINVER >= 0x0600 */ #else #define IDI_APPLICATION MAKEINTRESOURCE(32512) #define IDI_HAND MAKEINTRESOURCE(32513) #define IDI_QUESTION MAKEINTRESOURCE(32514) #define IDI_EXCLAMATION MAKEINTRESOURCE(32515) #define IDI_ASTERISK MAKEINTRESOURCE(32516) #if(WINVER >= 0x0400) #define IDI_WINLOGO MAKEINTRESOURCE(32517) #endif /* WINVER >= 0x0400 */ #if(WINVER >= 0x0600) #define IDI_SHIELD MAKEINTRESOURCE(32518) #endif /* WINVER >= 0x0600 */ #endif /* RC_INVOKED */
#if(WINVER >= 0x0400) #define IDI_WARNING IDI_EXCLAMATION #define IDI_ERROR IDI_HAND #define IDI_INFORMATION IDI_ASTERISK #endif /* WINVER >= 0x0400 */
#endif /* !NOICONS */ |
|
|
uko 
      
Beiträge: 220
Erhaltene Danke: 1
Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
|
Verfasst: Di 05.12.06 15:52
Hmm, nö, ich hab das gleiche SDK. Nur wo hat sich dann was geändert (angesehen von der neuen Definition IDI_SHIELD)? Wenn ich in der Windows.pas nachschau seh ich
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| { Standard Icon IDs } {$EXTERNALSYM IDI_APPLICATION} IDI_APPLICATION = MakeIntResource(32512); {$EXTERNALSYM IDI_HAND} IDI_HAND = MakeIntResource(32513); {$EXTERNALSYM IDI_QUESTION} IDI_QUESTION = MakeIntResource(32514); {$EXTERNALSYM IDI_EXCLAMATION} IDI_EXCLAMATION = MakeIntResource(32515); {$EXTERNALSYM IDI_ASTERISK} IDI_ASTERISK = MakeIntResource(32516); {$EXTERNALSYM IDI_WINLOGO} IDI_WINLOGO = MakeIntResource(32517); {$EXTERNALSYM IDI_WARNING} IDI_WARNING = IDI_EXCLAMATION; {$EXTERNALSYM IDI_ERROR} IDI_ERROR = IDI_HAND; {$EXTERNALSYM IDI_INFORMATION} IDI_INFORMATION = IDI_ASTERISK; |
Mach ich da irgendeinen Denkfehler?
grüsse,
Ulrich
|
|
MagicAndre1981
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 05.12.06 15:58
Mathias hat die IDI_xx neu definiert (CommCtrl_Fragment), da musst du es ändern.
|
|
uko 
      
Beiträge: 220
Erhaltene Danke: 1
Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
|
Verfasst: Di 05.12.06 16:22
Meinst Du diesen Artikel: www.michael-puff.de/..._26_TaskDialog.shtml ? MIt dem dortigen Demo-Programm läuft es aber auch nciht und das CommCtrl_Fragment enthält keine IDI_XX Definitionen. Nur TD_ICON_xx.
grüsse,
Ulrich
|
|
MagicAndre1981
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 05.12.06 16:49
uko hat folgendes geschrieben: | Meinst Du diesen Artikel: www.michael-puff.de/..._26_TaskDialog.shtml ? MIt dem dortigen Demo-Programm läuft es aber auch nciht und das CommCtrl_Fragment enthält keine IDI_XX Definitionen. Nur TD_ICON_xx.
grüsse,
Ulrich |
jupp, das meine ich und du musst die Werte der TD_Icon_xx auf die neuen Werte ändern, dann geht es. Hmmm, mich da ein wenig vertan  Dann klappt es aber (zumind. bei mir). kA wie Simmanze auf die Werte kommt.
|
|
uko 
      
Beiträge: 220
Erhaltene Danke: 1
Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
|
Verfasst: Di 05.12.06 17:24
Hi,
Danke, damit funktioniert es nun. Die Konstanten (in CommCtl_fragment)
Quelltext 1: 2: 3: 4: 5: 6: 7:
| TD_ICON_BLANK = 100; TD_ICON_WARNING = 101; TD_ICON_QUESTION = 102; TD_ICON_ERROR = 103; TD_ICON_INFORMATION = 104; TD_ICON_BLANK_AGAIN = 105; TD_ICON_SHIELD = 106; |
müssen auf
Quelltext 1: 2: 3: 4: 5: 6: 7:
| TD_ICON_BLANK = 32512; TD_ICON_WARNING = 32515; TD_ICON_QUESTION = 32514; TD_ICON_ERROR = 32513; TD_ICON_INFORMATION = 32516; TD_ICON_BLANK_AGAIN = 32517; TD_ICON_SHIELD = 32518; |
abgeändert werden.
Und nun vielen Dank an alle, die geholfen haben!
grüsse,
Ulrich
|
|
MagicAndre1981
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 05.12.06 18:53
ok, viel Spaß mit Vista 
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 01.03.07 15:46
Es ist Monate her, aber die Antwort kriegst du trotzdem:
MagicAndre1981 hat folgendes geschrieben: | kA wie Simmanze auf die Werte kommt. |
Die habe ich im Internet bzw. im Vista Bridge-Sample gefunden (ich weiß es nicht mehr), und bis zur RC1 ging das damit ja auch wunderbar. Ich habe kürzlich wieder meine CSharp-Demo in der Hand gehabt, weil ich mit den lokalisierten Ordnernamen experimentiert habe, und habe mich auch gewundert, warum die Symbole so komisch aussehen. Die neuen Konstanten habe ich bei mir natürlich jetzt auch ergänzt
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| public enum TaskDialogIcon { None = 0, Blank = 32512, Error, Question, Warning, Information, Shield = 32518 } |
Okay, man müsste mal die Demo aktualisieren ...
|
|