![]() |
Frage zu Treads
Hallo leute,
ich hab ein problem mit meinem filemanager: :evil: immer wenn eine datei, die ich per shellexecute öffne, ziemlich groß ist, reagiert mein programm nicht mehr, bis diese nach langer zeit geöffnet ist. da ist mir das TThread in den sinn gekommen, aber ich neige etwas ab, dieses zu benutzen, da große fehler dabei entstehen können (steht in nem delphi buch). :warn: ist es sinnvoll (oder bringt es überhaupt etwas) einen shellexecute-befehl in einem eigenen tread zu öffnen? wenn ja, hat jemand ein beispiel? :coder: PLEASE HELP!!!! danke im vorraus. |
Re: Frage zu Treads
Delphi-Quellcode:
[EDIT=SleepyMaster]Hatte Tags vergessen[/EDIT]
procedure run;
begin Shellexecute........... end; procedure TForm1.Button1Click(Sender: TObject); var ThreadID: DWORD; ThreadHandle: THandle; begin ThreadHandle:=CreateThread(nil, 0, TFNThreadStartRoutine(@Run), nil, 0, ThreadID); if ThreadHandle<>0 then CloseHandle(ThreadHandle); end; |
Re: Frage zu Treads
DANKE!!! :hello: :thuimb:
bringt das auch dann den erhofften vorteil? :| |
Re: Frage zu Treads
Keine Ahnung! ;)
Aber teste es doch einfach mal! |
Re: Frage zu Treads
Aua, das tut weh. Und wenn ich das sehe, dann stimmt es auch, was in dem Buch drinsteht, das Threads gefährlich sind. Aber das gilt nur, wenn man nicht weiß, was man macht.
CreateThread soollte man nicht benutzen, da Zitat:
Delphi-Quellcode:
So hat sie auszusehen und nicht anders.
function Thread(p: Pointer): Integer;
Aber bevor ich hier großartig alles noch mal tippe, hier der Link zu meinem Tutorial: ![]() |
Re: Frage zu Treads
Solang es läuft mach ich mir keine Gedanken, was an meinem Quellcode falsch ist!
Aber jetzt wo du mich schon extra draufhingewiesen hast nehme ich BeginThread anstelle von CreateThread (Auch wenn ich keinen Unterschied sehe). Und ob die function jetzt so aussieht:
Delphi-Quellcode:
Oder ne procedure ist und so aussieht:
function Thread(p: Pointer): Integer;
Delphi-Quellcode:
Hat bei mir noch NIE einen Unterschied gemacht!
procedure Thread;
|
Re: Frage zu Treads
Zitat:
Delphi-Quellcode:
Aber ob Prozedur oder Funktion ist ziemlich wurscht, wenn man weiß, dass man die Rückgabe nicht benötigt. Wenn ich sowieso immer 0 zurückgeben würde, kann ich auch eine Prozedur nehmen.
function Thread(p: Pointer): DWord;
Aber i.A. schaden Fehlercodes nicht :wink: |
Re: Frage zu Treads
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: Frage zu Treads
Delphi-Quellcode:
Mein XP!!! ist sau stabil
Nun ja. Und dann Schimpfen alle immer auf Microsoft, wenn Windows mal wieder abstürzt. Und keiner denkt daran, dass es eventuell gar nicht das OS war.
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: Frage zu Treads
Hi SleepyMaster,
da will dir Luckie klar machen, wieso man es so machen sollte, und du beginnst sofort ihn zu attackieren. Es hat auch _niemand_ von deinem Computer geredet, sondern auf dem Computer, wo deine Programm laufen sollen. Ich wäre auch wirklich sehr dankbar, wenn ein Programm aufgrund schlechter Programmierung meinen PC abstürzen lässt... Du gehst immer von dir aus, und was ist mit anderen Leuten? Luckie wird seine Aussage nicht ohne Grund gemacht haben, du solltest auf ihn hören. so far mirage228 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:39 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