Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Blockade bei Upload (https://www.delphipraxis.net/83088-blockade-bei-upload.html)

Felixcate07 27. Dez 2006 09:45


Blockade bei Upload
 
Hallo,

ich übergebe mit Delphi eine Datei an eine php Seite. Da der Upload etwas dauert ist das Programm blockiert. Kann man da irgendwas machen? Irgendeine Anzeige ("IN ARBEIT") oder so was? Der Anwender denkt das Programm ist abgestürzt!

Danke

Gruß Tobias

Matze 27. Dez 2006 09:49

Re: Blockade bei Upload
 
Hi,

um welche Komponenten handelt es sich (falls du welche nutzen solltest)? Wie sieht der Code für den Upload aus?
Ohne diese Infos kann man dir wahrscheinlich nicht viel helfen und es wird eine einzige Herumraterei.


Ich tippe dennoch mal, was eine Lösung sein könne: Die Auslagerung in einen Thread.

Felixcate07 27. Dez 2006 09:55

Re: Blockade bei Upload
 
Hallo,

zum hochladen verwende ich das:

http://www.delphipraxis.net/internal...ct.php?t=98281

Gruß Tobias

C.Schoch 27. Dez 2006 16:46

Re: Blockade bei Upload
 
Hi,
Da es keine Schleife ist in die du Application.Processmessages einbauen kannst musst du dich wohl wie schon von Matze gesagt in das Thema Threads einarbeiten.

Felixcate07 28. Dez 2006 10:45

Re: Blockade bei Upload
 
aha und könnt Ihr mir da mal ein Beispiel geben oder so wie ich das Anfangen kann?

Danke

Felixcate07 28. Dez 2006 12:53

Re: Blockade bei Upload
 
Hallo,

warum kann ich auf Edit1.text nicht zugreifen?? Auch auf Labels oder ähnliches hab ich keinen Zugriff.

Danke

Gruß Tobias



function UnserThread(zahl: Pointer): LongInt; stdcall;
begin
Sleep(2000);
Edit1.text := 'fertig';
Result:=0;
end;


procedure TForm1.Button1Click(Sender: TObject);

var
ThreadID: DWORD; //Thread-ID
ThreadHandle: THandle; //Rückgabewert von CreateThread

begin

Label1.Caption:='Unser Thread-Testprogramm ist gestartet.';
Label2.Caption :='Nun erzeugen wir den neuen Thread!';
Sleep(2000);
ThreadHandle:=CreateThread(nil, 0, TFNThreadStartRoutine(@UnserThread),
nil, 0, ThreadID);

//wenn der Thread erfolgreich gestartet wurde (ThreadHandle<>0), können
//wir ThreadHandle wieder freigeben:
if ThreadHandle<>0 then CloseHandle(ThreadHandle);

label1.Caption :=('Das Hauptprogramm ist nun am Ende angekommen.');


end;

himitsu 28. Dez 2006 13:20

Re: Blockade bei Upload
 
die funktion UnserThread ist nicht in der Klasse definiert, also ist dort Edit1 volkommen unbekannt :zwinker:

Code:
begin
Sleep(2000);
[b][color=#ff0000]Form1.[/color][/b]Edit1.text := 'fertig';
Result:=0;
[add]
die letzten beiden Beiträge können eigentlich weg (falls ein Mod dat so will)
>> Antworten auch unter Thread Frage


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