![]() |
Komponenten werden nicht erkannt
Hallo,
Ich hab ein Problem mit meinem Programm ^^. Zur Funktionsweise: Ich hab eine Variable, die im Laufe des Programms immer wieder verändert wird. Je nachdem welchen Wert die Variable hat, sollen bestimme Komponenten im Forumlar verändert werden (z.B. Buttons.enabled := true / false , oder Panel.Caption := 'blabla'). Nur passiert dies eben nicht, auch wenn die dazugehörigen Bediengungen eintreten.
Delphi-Quellcode:
Zur Info:
procedure button_kontrolle;
begin; if freie_attribute = 25 then begin; form3.Button2.enabled := false; form3.Button4.enabled := false; form3.Button6.enabled := false; form3.Button8.enabled := false; form3.Button10.enabled := false; form3.button1.Enabled := true; form3.button3.Enabled := true; form3.button5.Enabled := true; form3.button7.Enabled := true; form3.button9.Enabled := true; end else if freie_attribute = 0 then begin; form3.button1.Enabled := false; form3.button3.Enabled := false; form3.button5.Enabled := false; form3.button7.Enabled := false; form3.button9.Enabled := false; form3.button2.Enabled := true; form3.button4.Enabled := true; form3.button6.Enabled := true; form3.button8.Enabled := true; form3.button10.Enabled := true; end; if (freie_attribute = 0) AND (freie_skills = 0) then form3.btn_create.Enabled := true; end; Ich bewege mich in der Form3 . Lass ich überall das "form3." weg, erkennt Delphi die Buttons nicht mehr. Komischerweise kann ich das form3. weglassen, wenn ich z.B. versuche einen Button bei der Oncreate-Methode zu verändern. Was ist hier der Fehler ? |
Re: Komponenten werden nicht erkannt
Es handelt sich auch um eine freie Prozedur. Wandle sie in eine Methode der Form(3).
Hier würde sich auch ein Case-Konstrukt anbieten |
Re: Komponenten werden nicht erkannt
Verstehe.
Aber wenn ich versuche das umzusetzen, sagt mir Delphi, dass ich "ungenügend Forward- oder External-Deklarationen" angegeben habe.
Delphi-Quellcode:
type
TForm3 = class(TForm) . . . private { Private-Deklarationen } public { Public-Deklarationen } procedure button_kontrolle; procedure pnl_attribut_aendern; end; var Form3: TForm3; freie_attribute, freie_skills : integer; implementation {$R *.dfm} procedure pnl_attribut_aendern; begin; form3.Pnl_attribute.caption := 'Sie haben noch '+inttostr(freie_attribute)+' Punkte verfügbar'; end; procedure button_kontrolle; begin; if freie_attribute = 25 then begin; form3.Button2.enabled := false; form3.Button4.enabled := false; form3.Button6.enabled := false; form3.Button8.enabled := false; form3.Button10.enabled := false; form3.button1.Enabled := true; form3.button3.Enabled := true; form3.button5.Enabled := true; form3.button7.Enabled := true; form3.button9.Enabled := true; end else if freie_attribute = 0 then begin; form3.button1.Enabled := false; form3.button3.Enabled := false; form3.button5.Enabled := false; form3.button7.Enabled := false; form3.button9.Enabled := false; form3.button2.Enabled := true; form3.button4.Enabled := true; form3.button6.Enabled := true; form3.button8.Enabled := true; form3.button10.Enabled := true; end; if (freie_attribute = 0) AND (freie_skills = 0) then form3.btn_create.Enabled := true; end; Das versteh ich nicht, denn alle Veriablen, die die Prozeduren brauchen sind schon als Globale Variablen deklariert. Und ein Result brauchen, soweit ich weiß, nur Functions :-/ . |
Re: Komponenten werden nicht erkannt
Delphi-Quellcode:
procedure TForm3.pnl_attribut_aendern;
|
Re: Komponenten werden nicht erkannt
Argh, kannst mich nen deppen nennen :oops:
Ich habs mit Form3. probiert. Danke vielmahls :love: |
Re: Komponenten werden nicht erkannt
Depp :twisted: :mrgreen:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz