AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Befehle werden einfach übersprungen

Ein Thema von Äfan · begonnen am 30. Dez 2004 · letzter Beitrag vom 3. Jan 2005
Antwort Antwort
Äfan
(Gast)

n/a Beiträge
 
#1

Befehle werden einfach übersprungen

  Alt 30. Dez 2004, 20:53
Hi,

Ich habe ein Problem mit meinem Prog.

Delphi-Quellcode:
procedure TMain.ToolButton2Click(Sender: TObject);
begin
 StatusBar1.Panels[1].Text := 'Bitte warten...';

 ToolButton2.Enabled := False;
 ToolButton3.Enabled := False;
 ToolButton5.Enabled := False:

 Memo1.Lines.Text := StringReplace(Memo1.Lines.Text, '111', 'in ', [rfReplaceAll]);
 ProgressBar1.StepIt;
 Memo1.Lines.Text := StringReplace(Memo1.Lines.Text, '222', 'das', [rfReplaceAll]);
 ProgressBar1.StepIt;
 Memo1.Lines.Text := StringReplace(Memo1.Lines.Text, '333', 'von', [rfReplaceAll]);
 ProgressBar1.StepIt;
 ...
end;
Wenn ich jetzt auf den ToolButton2 klicke, startet es, aber erst ab Memo1.Lines... Also alles davor wird einfach übersprungen ! Wenn ich jetzt aber zwischen ToolButton5... und Memo1..., ShowMessage('Hallo'); setze, werden die oberen befehle nicht übersprungen. Warum is das so und wie kann ich alles ausführen, ohne das ich ne meldung anzeigen muss ?

MFG
  Mit Zitat antworten Zitat
PierreB
(Gast)

n/a Beiträge
 
#2

Re: Befehle werden einfach übersprungen

  Alt 30. Dez 2004, 20:56
hmm... weiß net obs damit zu tun hat aber:

Code:
ToolButton5.Enabled := False:
<- da is ein Doppelpunkt, kein Senikolon
  Mit Zitat antworten Zitat
Äfan
(Gast)

n/a Beiträge
 
#3

Re: Befehle werden einfach übersprungen

  Alt 30. Dez 2004, 20:58
Oh, kleiner Tipfehler. Aber nein, daran liegts nicht. Es funktioniert immer noch nicht
  Mit Zitat antworten Zitat
PierreB
(Gast)

n/a Beiträge
 
#4

Re: Befehle werden einfach übersprungen

  Alt 30. Dez 2004, 21:00
Code:
StatusBar1.Panels[1].Text := 'Bitte warten...';
hmm... wie hast du denn das l deklariert, oder welchen Wert hat es?
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#5

Re: Befehle werden einfach übersprungen

  Alt 30. Dez 2004, 21:01
Hast du es mal so probiert?
Delphi-Quellcode:
procedure TMain.ToolButton2Click(Sender: TObject);
begin
StatusBar1.Panels[1].Text := 'Bitte warten...';

ToolButton2.Enabled := False;
ToolButton3.Enabled := False;
ToolButton5.Enabled := False;

Application.ProcessMessages; // <---

Memo1.Lines.Text := StringReplace(Memo1.Lines.Text, '111', 'in ', [rfReplaceAll]);
ProgressBar1.StepIt;
Memo1.Lines.Text := StringReplace(Memo1.Lines.Text, '222', 'das', [rfReplaceAll]);
ProgressBar1.StepIt;
Memo1.Lines.Text := StringReplace(Memo1.Lines.Text, '333', 'von', [rfReplaceAll]);
ProgressBar1.StepIt;
...
end;
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#6

Re: Befehle werden einfach übersprungen

  Alt 3. Jan 2005, 06:51
die befehle werde nicht übersprungen.
nur die vcl hat keine zeit mehr die buttons und labels neuzuzeichnen.

im post vor meinen ist die lösung.
wenn du programmteile hast die länger laufen solltest du processmessages aufrufen damit die form nicht einfriert.
du kannst den prozess der lange dauert auch einfach in einen thread verbannen.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Befehle werden einfach übersprungen

  Alt 3. Jan 2005, 08:11
Du siehst beim Kompilieren auch schon, ob zeilen übersprungen werden, oder nicht.

Die, die ausgeführt werden, sind links mit einem blauen Punkt gekennzeichnet.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Befehle werden einfach übersprungen

  Alt 3. Jan 2005, 11:53
Moin Äfan,

es ist übrigens keine gute Idee immer direkt Memo1.Lines.Text anzusprechen.
Speichere Dir lieber Memo1.Lines.Text zu Beginn in einem String, verarbeite den, und schreibe ihn zum Schluss wieder zurück.

Jedesmal, wenn Du die Eigenschaft Text ausliest, wird sie aus den Lines zusammengebaut, und beim Schreiben dann natürlich umgekehrt.
Das drückt erheblich auf die Performance.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  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 23:21 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