![]() |
aus procedure thread machen
Hi,
ich habe folgendes Problem...ich habe ne Procedure...darin wird mit einer komponente idhttp eine datei vom server geladen und in eine datei reingeschrieben... da dies selbst mit der antifreeze kompo die anwendung zum freezen bringt hab ich mir gedacht, dass ich das ganze in einen thread packe.. doch wie kann ich jetzt diese procedure in einen thread verwandeln? tut hab ich schon gelesen, half mir nicht wirklich viel! Gruß Kidix |
Re: aus procedure thread machen
nunja, welches hast du denn gelesen?
wenn du eines gelesen hast, solltest du aber wissen, dass man einem thread immer eine function, keine procedure übergibt ;) |
Re: aus procedure thread machen
hi,
vor allem Luckies Tutorials sind da sehr zu empfehlen ! eine Funktion kannste ungefähr so als Thread starten:
Delphi-Quellcode:
dann könntest/solltest du dir noch die Parameter von BeginThread für Flags,Stackgröße,... anschauen !
...
var ThreadID : Cardinal; ... BeginThread(nil,0,@meineFunktion,nil,0,ThreadID); ... cu, stefan2005 |
Re: aus procedure thread machen
ich bekomms so einfach nicht hin...
er sagt variable fehlt.... |
Re: aus procedure thread machen
hi,
und was für eine Variable fehlt ? // bzw. wo feht die variable ? cu, stefan2005 |
Re: aus procedure thread machen
Zitat:
|
Re: aus procedure thread machen
Zitat:
Zitat:
Beim Fehler springt er mit dem Cursor dann vor die hintere 0 (die vor dem ThreadID steht) air |
Re: aus procedure thread machen
hi,
komisch :gruebel: bei mir funktioniert es so einwandfrei (Delphi 6):
Delphi-Quellcode:
cu,
program ThreadTest;
{$APPTYPE CONSOLE} uses Windows; var ThreadID : Cardinal; function meineFunktion: Integer; begin Writeln('Der neue Thread'); end; begin Writeln('Der Hauptthread'); BeginThread(nil,0,@meineFunktion,nil,0,ThreadID); Readln; end. stefan2005 |
Re: aus procedure thread machen
hmm, was kann ich jetzt dagegen machen?
|
Re: aus procedure thread machen
hi,
funktioniert der Quellcode oben bei dir nicht ? was hast du denn für eine Delphi Version ? cu, stefan2005 |
Re: aus procedure thread machen
Delphi 4... ne oben das gleiche
|
Re: aus procedure thread machen
hi,
probier dann mal die 0 durch eine Variable mit dem Wert 0 zu erstetzen.
Delphi-Quellcode:
wenn das nicht funktioniert, wieviele und welche Übergabeparameter an BeginThread werden den erwartet ?
var ThreadID : Cardinal;
CreationFlags : Cardinal = 0; ... BeginThread(nil,0,@meineFunktion,nil,CreationFlags,ThreadID); ... cu, stefan2005 |
Re: aus procedure thread machen
Liste der Anhänge anzeigen (Anzahl: 1)
hier unten hab ich es angehängt!
|
Re: aus procedure thread machen
also meine threadaufrufe sehen so aus:
Delphi-Quellcode:
anstatt des zweiten nils kann man dort dem thread einen parameter übergeben (genauergesagt einen pointer auf eine variable)
ThreadHandle := BeginThread(nil, 0, TFNThreadStartRoutine(@ThreadFunc), nil, 0, ThreadID);
|
Re: aus procedure thread machen
ich habs jetzt auch hinbekommen, deine variante geht!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:53 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