2011-12-09 1 views
1

Est-ce que quelqu'un pourrait me dire ce qui ne va pas du tout avec la façon dont ma déclaration de cas est écrite? Je ne vois rien de mal à cela, mais le compilateur continue d'élever l'erreur suivante, "Dupliquer l'élément de cas: '0'," pour la ligne avec HatchSytle.Horizontal. Si je commente cette ligne c'est bien et compile sans aucune erreur.Article en double: "0"

Comme vous pouvez le voir, aucun des éléments que je vérifie n'est le même. Donc, je ne devrais pas avoir d'erreur. Corrigez-moi si je me trompe.

case TMakerGraphic(obj).theBrushStyle of 
    HatchStyle.Min: BrushStyleCombo.SelectedIndex := 1; 
    HatchStyle.ZigZag: BrushStyleCombo.SelectedIndex := 0; 
    HatchStyle.BackwardDiagonal: BrushStyleCombo.SelectedIndex := 2; 
    HatchStyle.ForwardDiagonal: BrushStyleCombo.SelectedIndex := 3; 
    HatchStyle.Cross: BrushStyleCombo.SelectedIndex := 4; 
    HatchStyle.DiagonalCross: BrushStyleCombo.SelectedIndex := 5; 
    HatchStyle.Horizontal: BrushStyleCombo.SelectedIndex := 6; <<<< Line raising error. 
    HatchStyle.Vertical: BrushStyleCombo.SelectedIndex := 7; 
    end; 

Merci

+0

Cela me rappelle à quel point il est cool dans Pascal de ne pas avoir à ajouter une déclaration de rupture pour chaque cas ... –

+0

@ vc74, il est très cool :) – ThN

Répondre

3

La seule chose que je peux penser serait que le ENUM HatchStyle a deux fois défini zéro, une fois à Horizontal, et une fois un autre endroit.

Est-ce que votre code est HatchStyle ou est-ce une bibliothèque tierce que vous utilisez? De toute façon, je commencerais par regarder (ou désassembler) ce code pour voir quelles sont les valeurs numériques de l'énumération.

+0

Juste vu d'autres réponses que 'HatchStyle' fait partie de le cadre - je suppose que je n'ai pas fait de code de dessin dans. NET en un certain temps ... –

+0

@ Joe Enos, Oui, vous avez raison. – ThN

4

Min et horizontal sont associés à la même valeur int:

public enum HatchStyle 
    { 
     // Summary: 
     //  Specifies hatch style System.Drawing.Drawing2D.HatchStyle.Horizontal. 
     Min = 0, 
     // 
     // Summary: 
     //  A pattern of horizontal lines. 
     Horizontal = 0, 
    ... 
    } 
+0

Vous êtes absolument corrett – ThN

Questions connexes