Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TShape - stCircle usw wird nicht erkannt (https://www.delphipraxis.net/149081-tshape-stcircle-usw-wird-nicht-erkannt.html)

Mangafreak1995 13. Mär 2010 20:12


TShape - stCircle usw wird nicht erkannt
 
Zum Problem (siehe Titel) noch ein bischen Hintergrundinfo:
Delphi-Quellcode:
case shape1.Shape of                        // 108
  stCircle : combo1.ItemIndex := 2;         // 109
  stRoundSquare : combo1.ItemIndex := 1;    // 110
  stSquare : combo1.ItemIndex := 0;         // 111
end;                                        // 112
case shape2.Shape of                        // 113
  stCircle : combobox1.ItemIndex := 2;      // 114
  stRoundSquare : combobox1.ItemIndex := 1; // 115
  stSquare : combobox1.ItemIndex := 0;      // 116
end;                                        // 117
jetzt die Fehlermeldung(en) ever:
Zitat:

[Fehler] Unit2.pas(109): Undefinierter Bezeichner: 'stCircle'
[Fehler] Unit2.pas(110): Undefinierter Bezeichner: 'stRoundSquare'
[Fehler] Unit2.pas(110): Doppeltes Case-Label
[Fehler] Unit2.pas(111): Undefinierter Bezeichner: 'stSquare'
[Fehler] Unit2.pas(115): Doppeltes Case-Label
[Fehler] Unit2.pas(116): Doppeltes Case-Label
warum werden die st-Konstanten nicht anerkannt ?
was soll mir die Meldung : "Doppeltes Case-Label" sagen ?

DeddyH 13. Mär 2010 20:20

Re: TShape - stCircle usw wird nicht erkannt
 
Zeig uns doch mal die ganze Methode.

Matze 13. Mär 2010 21:55

Re: TShape - stCircle usw wird nicht erkannt
 
Hallo,

gleich vorweg: Tolle Idee, die echten Zeilennummern als Kommentar im Code zu ergänzen. So lassen sich die Meldungen dem Code leicht zuordnen. :thumb:

Ich muss mich Detlef jedoch anschließen. Bei mir funktioniert der Code problemlos. Wenn du ein kleines Demo-Projekt erstellen könntest, mit dem wir die Meldungen reproduzieren können, wäre es für uns einfacher, den Fehler zu finden.

Die Meldung "Doppeltes Case-Label" erscheint normalerweise, wenn du 2 mal die gleiche Case-Bedingung angibst. Beispiel:

Delphi-Quellcode:
case Shape1.Shape of
  stCircle: ...;
  stCircle: ...; // doppelt
  stSquare: ...;
end;
Grüße, Matze

Mangafreak1995 14. Mär 2010 17:32

Re: TShape - stCircle usw wird nicht erkannt
 
danke, ja das mit dem Kommentaren habe ich halt hinzugefügt nich das gleich gesagt wird das niemand weiß wo der Fehler hingehört.
Naja den Code wo die Fehler sind habt ihr ja.
Hier die ganze procedure:
Delphi-Quellcode:
procedure tform2.Options();             // 96
begin
  with form3 do
  begin
    spin1.MaxValue := screen.Height ;           // 100
    spin2.MaxLength := screen.Width ;
    spin2.MinValue := 50 ;
    spin1.MinValue := 50 ;
    spin1.Value := form1.Height;
    spin2.Value := form1.Width ;
    Shape1 := Form1.Shape1;
    Shape2 := Form1.base;
    case shape1.Shape of
      stCircle : combo1.ItemIndex := 2;
      stRoundSquare : combo1.ItemIndex := 1;    // 110
      stSquare : combo1.ItemIndex := 0;
    end;
    case shape2.Shape of
      stCircle : combobox1.ItemIndex := 2;
      stRoundSquare : combobox1.ItemIndex := 1;
      stSquare : combobox1.ItemIndex := 0;
    end;
    if form1.WindowState = wsmaximized then
      radiobutton1.Checked := true
    else                                        // 120
    begin
      radiobutton2.Checked := true;
      spin1.Value := form1.Height;
      spin2.Value := form1.Width;
    end;
  Show();
  end;
  form2.Enabled := False;
end;                                            // 129
Dieser Code richtet ein OptionsMenu ein.

DeddyH 15. Mär 2010 08:10

Re: TShape - stCircle usw wird nicht erkannt
 
Ist ExtCtrls eingebunden? Und ich würde das with rauswerfen, das sorgt nur für Verwirrung.

Mangafreak1995 15. Mär 2010 16:13

Re: TShape - stCircle usw wird nicht erkannt
 
sollte
da es nicht dynamisch erstellt ist

DeddyH 15. Mär 2010 16:17

Re: TShape - stCircle usw wird nicht erkannt
 
Was heißt "sollte"? Die Shapes sind in einer anderen Unit deklariert, also bindet Delphi die hier nicht automatisch ein.

Mangafreak1995 15. Mär 2010 18:19

Re: TShape - stCircle usw wird nicht erkannt
 
das war die Lösung ^^
ich hab noch 'ExtCtrls' hinzugefügt
ich hatte auf der Form einfach nicht die Shapes

ich hatte 'Sollte' geschrieben weil ich Delphi auf meinem NetBook habe und nicht an dem PC wo ich grad war


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz