![]() |
einen Button Disabled setzen
hi ich habe jetzt in mein Programm eine Druckfunktion eingebaut, aber wenn die Form noch nicht offen ist, bzw die Daten noch nicht drinnen sind, dann sollte der button Enabled:=false; sein
Dazu habe ich mir einen Zähler eingebaut der was bei Form.Create zaehler:=zahler+1 sagt und bei Form.Close zaehler:=zaehler-1 sagt. Und bei Form.Activate steht folgendes:
Delphi-Quellcode:
thx 4 help
if zaehler<>0 then
frmmain.Drucken.Enabled:=true else frmmain.Drucken.Enabled:=false; |
Re: einen Button Disabled setzen
Ja und. Was ist jetzt die genaue Frage :wiejetzt:
Gehts nicht? gibts Abstürze? Wo genau hast Du zaehler definiert? |
Re: einen Button Disabled setzen
ups sry des wichtigste hab ich vergessen :oops:
nein abstürze gibt es nicht, aber es funktioniert nicht egal ob es 0 oder 1 ist, er setzt es mir nicht diasabled [edit] definiert h ab ich die zahl in private |
Re: einen Button Disabled setzen
Dein Fehler liegt nicht in der beschriebenen Codezeile. Schau mal im Debugmode welchen Wert "zaehler" zur Laufzeit hat.
Generell kannst du den Befehl auch kürzer formulieren:
Delphi-Quellcode:
frmmain.Drucken.Enabled:= (zaehler<>0);
Schöne Grüße, Jens |
Re: einen Button Disabled setzen
ja das hab ich gerade gemacht und bei zaehler:=zaehler+1; ist der zaehler immer 0
weiß aber ned warum, ermüsste mir doch eines dazuzählen wenn er Form.Create aufruft oder ???? |
Re: einen Button Disabled setzen
Zitat:
das verstehe ich nicht. Wenn die Form (welche auch immer das sein mag) nicht offen ist kann man den Butten doch auch nicht sehen. Ergo bringt es nichts in zu disablen. Und was meinst Du mit "die Daten noch nich drinnen sind"? Welche Daten? Woher kommen sie? |
Re: einen Button Disabled setzen
Hast du den Haltepunkt genau auz die Zeile "zaehler:=zaehler+1;" gesetzt ?
Falls ja sollte "0" OK sein. Markiere mal die nächste Codezeile und schau die den Wert dann noch mal an. Warum eigentlich "zaehler:=zaehler+1;" im FormCreate ? Erstellst du die Form zur Laufzeit ? Falls nicht, kann Zaehler nie "0" sein nachdem alle Formulare instanziert wurden ... |
Re: einen Button Disabled setzen
der button ist auf einer Menüleiste die in einem MDI ist deshalb kann man den button sehen. Die Daten kommen von einer Datenbank, ist aber glaube ich für die Disabled Befehl nicht von bedeutung oder ??
ja ich create die Form zur laufzeit. hmm ich habe mir da jetzt angeschaut, und es stimmt alles, aber trodzdem ist der button am anfang nicht disabled |
Re: einen Button Disabled setzen
Zähler ist 0 aber Button nicht Disable .. wann/wo frägst du denn den zähler ab?
|
Re: einen Button Disabled setzen
Steht denn dieser Code
Delphi-Quellcode:
Auch im onCreate der MDI Form ?
if zaehler<>0 then
frmmain.Drucken.Enabled:=true else frmmain.Drucken.Enabled:=false; Dann wird der Code bein Programmstart ja jarnicht aufgerufen. Warum eigentlich so kompliziert ? Setze den Button doch zur Entwurfzeit auf Disabled und im onCreate der MDI-Form sag einfach
Delphi-Quellcode:
Oder sehe ich da jetzt was falsch ?
frmmain.Drucken.Enabled:=true
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 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