AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Eine Funktion/Procedure mehrfach starten, bevor sie endet?
Thema durchsuchen
Ansicht
Themen-Optionen

Eine Funktion/Procedure mehrfach starten, bevor sie endet?

Ein Thema von gandime · begonnen am 1. Apr 2008 · letzter Beitrag vom 2. Apr 2008
Antwort Antwort
gandime
(Gast)

n/a Beiträge
 
#1

Eine Funktion/Procedure mehrfach starten, bevor sie endet?

  Alt 1. Apr 2008, 22:40
Hi,
ich möchte eine Funktion mehrfach starten bevor sie endet.
Dieses möchte ich machen um die Bearbeitung zu beschleunigen!

Die Funktion:
Delphi-Quellcode:
Function set_pw(s_psc:string):boolean;
var
  sl:tstringlist;
begin
  sl:=tstringlist.create;
  sl.Values['psc']:=s_psc;
  idhttp.post('http://...',sl);
//bla bla bla usw
end;
Naja und diese Funktion Braucht einige sekunden bis der Server geantwortet hat usw.
Jetzt habe ich mir überlegt einen array von idhttp zu erstellen, welche dann angesprochen werden wenn sie nicht benutzt werden.
Blos die Frage ist wie ich die nächste Funktion starten kann bevor die alte beendet ist?

Delphi-Quellcode:
for i:=0 to sl_psc.count-1 do
begin
  set_pw([i]);
end;
so würde es ja nicht gehen
Die Einzige Idee die mir gekommen ist ist ein Timer.
Die Funktion kann ich auch zu einer Procedure umformen, das soll nicht das Problem sein!
Welche Alternativen gibt es?


mfg
gandime
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Eine Funktion/Procedure mehrfach starten, bevor sie ende

  Alt 1. Apr 2008, 22:43
Threads wäre eine Alternative.
  Mit Zitat antworten Zitat
Panthrax

Registriert seit: 18. Feb 2005
286 Beiträge
 
Delphi 2010 Enterprise
 
#3

Re: Eine Funktion/Procedure mehrfach starten, bevor sie ende

  Alt 1. Apr 2008, 23:16
Das hier könnte dir helfen asynchone Funktions- oder Prozeduraufrufe einfach umzusetzen:Ich würde eine Umsetzung allein mit Threads anstreben.
"Es gibt keine schlimmere Lüge als die Wahrheit, die von denen, die sie hören, missverstanden wird."
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Eine Funktion/Procedure mehrfach starten, bevor sie ende

  Alt 2. Apr 2008, 09:21
Zitat von Die Muhkuh:
Threads wäre eine Alternative.
Threads wäre die einzige Möglichkeit.
Es wird nicht anderst gehen.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
gandime
(Gast)

n/a Beiträge
 
#5

Re: Eine Funktion/Procedure mehrfach starten, bevor sie ende

  Alt 2. Apr 2008, 19:19
soo habs jetzt mit dem async versucht habe aber auch schon butz nen problem... und zwar bei folgender Fehlermeldung:
Zitat:
[DCC Fehler] Unit1.pas(333): E2036 Variable erforderlich
Bei folgendem Code:

Delphi-Quellcode:
procedure TForm1.set_pw(s_psc:string;i_ht:integer);cdecl;
begin
//blabla...
end;

begin
  ac:=AsyncCall(@set_pw,[sl_temp[i_count],ii]); //fehler
end;
was mache ich falsch?
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

Re: Eine Funktion/Procedure mehrfach starten, bevor sie ende

  Alt 2. Apr 2008, 19:26
Du hast "ac: IAsyncCall" nicht deklariert?
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7

Re: Eine Funktion/Procedure mehrfach starten, bevor sie ende

  Alt 2. Apr 2008, 19:29
Zudem würde die aufrufende Methode so lange warten bis der Thread beendet ist, da ac._Release durch den Compiler aufgerufen wird und dort die ac.Sync Methode ihren Dienst verrichtet.
  Mit Zitat antworten Zitat
gandime
(Gast)

n/a Beiträge
 
#8

Re: Eine Funktion/Procedure mehrfach starten, bevor sie ende

  Alt 2. Apr 2008, 19:48
ac is deklariert hab blos vergessen das hier ins Forum zu schreiben.
was muss ich jetzt genau machen, damit es richtig funktioniert?
jbg dich habe ich nicht richtig verstanden...

edit:
Problem gelöst die Procedure darf nicht mit TForm1 deklariert sein
  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 05: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