Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Komponenten werden nicht erkannt (https://www.delphipraxis.net/109045-komponenten-werden-nicht-erkannt.html)

XecuterX 23. Feb 2008 11:55


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:
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;
Zur Info:
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 ?

mkinzler 23. Feb 2008 12:13

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

XecuterX 23. Feb 2008 14:14

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 :-/ .

mkinzler 23. Feb 2008 14:17

Re: Komponenten werden nicht erkannt
 
Delphi-Quellcode:
procedure TForm3.pnl_attribut_aendern;

XecuterX 23. Feb 2008 15:04

Re: Komponenten werden nicht erkannt
 
Argh, kannst mich nen deppen nennen :oops:
Ich habs mit Form3. probiert.
Danke vielmahls :love:

DeddyH 23. Feb 2008 15:27

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