Autor Beitrag
uko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220
Erhaltene Danke: 1

Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
BeitragVerfasst: 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



BeitragVerfasst: Mo 04.12.06 14:51 
uko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220
Erhaltene Danke: 1

Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220
Erhaltene Danke: 1

Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
BeitragVerfasst: 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



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220
Erhaltene Danke: 1

Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
BeitragVerfasst: 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



BeitragVerfasst: Di 05.12.06 15:35 
dann hast du ein älteres SDK und nicht das SDK Build 6000.

ausblenden volle Höhe C#-Quelltext
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

/*
 * Standard Icon IDs
 */

#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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220
Erhaltene Danke: 1

Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
BeitragVerfasst: 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

ausblenden 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



BeitragVerfasst: Di 05.12.06 15:58 
Mathias hat die IDI_xx neu definiert (CommCtrl_Fragment), da musst du es ändern.
uko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220
Erhaltene Danke: 1

Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
BeitragVerfasst: 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



BeitragVerfasst: Di 05.12.06 16:49 
user profile iconuko 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 :oops: Dann klappt es aber (zumind. bei mir). kA wie Simmanze auf die Werte kommt.
uko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 220
Erhaltene Danke: 1

Win XP, VISTA, WIndows 7
Delphi 2007/2010 Prof
BeitragVerfasst: Di 05.12.06 17:24 
Hi,

Danke, damit funktioniert es nun. Die Konstanten (in CommCtl_fragment)

ausblenden 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

ausblenden 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



BeitragVerfasst: Di 05.12.06 18:53 
ok, viel Spaß mit Vista ;)
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 01.03.07 15:46 
Es ist Monate her, aber die Antwort kriegst du trotzdem:
user profile iconMagicAndre1981 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
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
public enum TaskDialogIcon
{
    None = 0,
    Blank = 32512,
    Error,
    Question,
    Warning,
    Information,
//  BlankAgain,
    Shield = 32518
}


Okay, man müsste mal die Demo aktualisieren ...