Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Abarbeitung in einer Funktion ist unlogisch (https://www.delphipraxis.net/100595-abarbeitung-einer-funktion-ist-unlogisch.html)

SMERK 1. Okt 2007 09:15


Abarbeitung in einer Funktion ist unlogisch
 
Hallo

Ich habe da mal eine Frage. Ich arbeite an einem kleinen FTP Programm, dass klappt auch alles, aber wenn eine datei hochgeladen werden soll, dann soll vorher ein Label sichtbar werden und dann die Datei hochgeladen werden. Jetzt ist es aber so, dass erst die Datei hochgeladen wird und dann das Label sichtbar wird, wieso ist das so?

Gruß
Dominik

DeddyH 1. Okt 2007 09:17

Re: Abarbeitung in einer Funktion ist unlogisch
 
Ohne etwas Code kann man da herzlich wenig zu sagen. Evtl. fehlt ein Application.ProcessMessages vor dem Upload?

SMERK 1. Okt 2007 09:23

Re: Abarbeitung in einer Funktion ist unlogisch
 
Delphi-Quellcode:
procedure TForm1.Upload_ButtonClick(Sender: TObject);
begin
  Upload_Label.Visible := True;
  dir := ShellListView1.SelectedFolder.PathName;
  datei := ExtractFilename( ShellListView1.SelectedFolder.PathName);
  FTP.Put(dir,datei);
end;

Gruber_Hans_12345 1. Okt 2007 09:27

Re: Abarbeitung in einer Funktion ist unlogisch
 
probiers mal so ...

Zitat:

Zitat von SMERK
Delphi-Quellcode:
procedure TForm1.Upload_ButtonClick(Sender: TObject);
begin
  Upload_Label.Visible := True;
  Application.ProcessMessages; // dem Programm auch zeit geben das label anzuzeigen
  dir := ShellListView1.SelectedFolder.PathName;
  datei := ExtractFilename( ShellListView1.SelectedFolder.PathName);
  FTP.Put(dir,datei);
end;


SMERK 1. Okt 2007 09:28

Re: Abarbeitung in einer Funktion ist unlogisch
 
WOW! Das ging fix! Danke, klappt nun alles wie erwünscht!!!

peschai 1. Okt 2007 10:05

Re: Abarbeitung in einer Funktion ist unlogisch
 
Hallo
Als Ergänzung:
Anstelle
Delphi-Quellcode:
Application.ProcessMessages;
sollte auch
Delphi-Quellcode:
Form1.Update;
funktionieren. (...Form1, wo das Label eingebunden ist).

jbg 1. Okt 2007 12:04

Re: Abarbeitung in einer Funktion ist unlogisch
 
Zitat:

Zitat von peschai
sollte auch
Delphi-Quellcode:
Form1.Update;
funktionieren.

Und vor allem ermöglicht es Update nicht, wie Application.ProcessMessages unvorhergesehene Ausführungswege zu bestreiten. Denn mit einem Application.ProcessMessages ermöglicht man dem Benutzer sämtliche nicht ausgegraute Controls zu bedienen.

Muetze1 1. Okt 2007 12:06

Re: Abarbeitung in einer Funktion ist unlogisch
 
... afair sollte
Delphi-Quellcode:
Upload_Label.Update
reichen...

blauweiss 1. Okt 2007 13:38

Re: Abarbeitung in einer Funktion ist unlogisch
 
Application.ProcessMessages sollte nur wenn unbedingt notwendig eingesetzt werden. jbg hat es ja schon beschrieben, welche Nebenwirkungen das haben kann. xyz.Update ist der saubere Weg.

Gruß
blauweiss

DP-Maintenance 1. Okt 2007 14:21

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Delphi-Frage


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:38 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