AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Ist while in verbindung mit einem Button nicht möglich?
Thema durchsuchen
Ansicht
Themen-Optionen

Ist while in verbindung mit einem Button nicht möglich?

Ein Thema von Zyro · begonnen am 14. Nov 2003 · letzter Beitrag vom 14. Nov 2003
Antwort Antwort
Zyro

Registriert seit: 4. Nov 2003
40 Beiträge
 
#1

Ist while in verbindung mit einem Button nicht möglich?

  Alt 14. Nov 2003, 13:11
ich habe einen Button, der heisst Bwert. Dann habe ich eine Prozedur, die ein paar Sachen durchläuft. jetzt will ich, aber die Prozedur an einer STelle anhalten, um einen Parameter einzugeben. Aber irgendwie will er das nicht akzeptieren. Hier der Quellcode:

Delphi-Quellcode:
 if(t=2)AND(Feld[t]<>'NULL')THEN begin
          while not BWert.Click do begin
          Edit1.Enabled:=true;
          Bwert.Enabled:=true;
          end;
          end;
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Ist while in verbindung mit einem Button nicht möglich?

  Alt 14. Nov 2003, 13:18
ich glaub nicht, dass das geht, arbeite doch mit dem OnClick-Ereigniss des Buttons.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Zyro

Registriert seit: 4. Nov 2003
40 Beiträge
 
#3

Re: Ist while in verbindung mit einem Button nicht möglich?

  Alt 14. Nov 2003, 13:21
Und wie kann ich da solange die schleife anhalten?!
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#4

Re: Ist while in verbindung mit einem Button nicht möglich?

  Alt 14. Nov 2003, 13:22
Delphi-Quellcode:
var
  BWertClicked : boolean;

// ...

procedure TForm1.BWertClick(Sender: TObject);
begin
  BWertClicked := true;
end;

// ...
begin
  BWertClicked := false;
if(t=2)AND(Feld[t]<>'NULL')THEN begin
          while not BWertClicked do begin
          Edit1.Enabled:=true;
          Bwert.Enabled:=true;
          Application.ProcessMessages;
          end;
          end;
  BWertClicked := false;
end;
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#5

Re: Ist while in verbindung mit einem Button nicht möglich?

  Alt 14. Nov 2003, 13:23
'Click' ist eine virtuelle methode...keine property! Ausserdem ist delphi ereigniss-orientiert und deshalb solltest OnClick benutzen ...echt jetzt.

cui.
  Mit Zitat antworten Zitat
Benutzerbild von samson
samson

Registriert seit: 26. Aug 2003
Ort: Hövelhof Riege
105 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Ist while in verbindung mit einem Button nicht möglich?

  Alt 14. Nov 2003, 13:29
Hallo.

Auszug aus Delphi-Hilfe:
Delphi-Quellcode:
Die Methode Click simuliert einen Mausklick durch den Benutzer auf eine Schaltfläche.

procedure Click; override;

Beschreibung

Ein Aufruf von Click weist dem übergeordneten Formular den Wert der Eigenschaft ModalResult der Schaltfläche zu und erzeugt dann das Ereignis OnClick.
Ich weiss nicht wie du Dein Kontrukt programmiert hast, aber kann nach der Hilfe nicht so funktionieren, so wie ich das Verstanden habe.

Weise Deinem Button mal die Eigenschaft: ModalResult := mrOK zu.

Deine Schleife änderst Du folgendermassen:

Delphi-Quellcode:
while self.modalResult<>mrOK do
  begin
    Edit1.Enabled:=true;
    Bwert.Enabled:=true;
    Application.ProcessManages;
  end;
Frank Gellermann
Wer Informationen hat, hat Macht. Wer Macht hat, hat Informationen!!!
  Mit Zitat antworten Zitat
Zyro

Registriert seit: 4. Nov 2003
40 Beiträge
 
#7

Re: Ist while in verbindung mit einem Button nicht möglich?

  Alt 14. Nov 2003, 13:30
Zitat von scp:
Delphi-Quellcode:
var
  BWertClicked : boolean;

// ...

procedure TForm1.BWertClick(Sender: TObject);
begin
  BWertClicked := true;
end;

// ...
begin
  BWertClicked := false;
if(t=2)AND(Feld[t]<>'NULL')THEN begin
          while not BWertClicked do begin
          Edit1.Enabled:=true;
          Bwert.Enabled:=true;
          Application.ProcessMessages;
          end;
          end;
  BWertClicked := false;
end;
nach deinem Beispiel sagt er immer, dass Clicked ein undeclared identifier ist ?!?
  Mit Zitat antworten Zitat
Siehtix

Registriert seit: 24. Okt 2003
9 Beiträge
 
#8

Re: Ist while in verbindung mit einem Button nicht möglich?

  Alt 14. Nov 2003, 13:37
leg deine prozedur doch einfach auf nen timer und disable den auf knopfdruck.
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#9

Re: Ist while in verbindung mit einem Button nicht möglich?

  Alt 14. Nov 2003, 15:22
@Zyro
In meinem Beispiel habe ich eine Variable definiert, deshalb kann sie janicht undeclared sein.
Du darfst nicht BWert.Clicked schreiben, sondern nur BWertClicked, ohne Punkt.
  Mit Zitat antworten Zitat
OLLI_T

Registriert seit: 13. Okt 2003
Ort: Nähe Wetzlar / Hessen
143 Beiträge
 
Delphi 5 Enterprise
 
#10

Re: Ist while in verbindung mit einem Button nicht möglich?

  Alt 14. Nov 2003, 17:49
@Zyro!

Du solltest Dein Code mal gründlich überdenken. Dieses Konstrukt sieht echt verboten aus. Anhalten gibt es bei Windows nicht. wenn ein Codeabschnitt nicht erreichbar sein soll, lässt sich das über Variablen leicht handhaben. Rechenzeitintensive Geschichten gehören in einen Thread. Alles andere ist gezwackel. Dieses Application.Processmessages sollte verboten werden.

Sorry, meine Meinung

OLLI
No Pain No Gain!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:56 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