AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Mehrere Programminstanzen per Thread starten
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrere Programminstanzen per Thread starten

Ein Thema von Aike · begonnen am 13. Nov 2004 · letzter Beitrag vom 16. Nov 2004
 
Aike

Registriert seit: 2. Okt 2004
319 Beiträge
 
#1

Mehrere Programminstanzen per Thread starten

  Alt 13. Nov 2004, 17:57
Hallo Leute,

ich habe folgendes Problem:
Mein Programm (Spiel-Client) will nicht, dass die exe-Datei mehrfach gestartet wird. Aber man kann öfter mal mehrere Clients brauchen, weswegen es nicht schlecht wäre, wenn man vier, fünf oder mehr Clients öffnen könnte.

Ich habe mir nun überlegt, dass das mit Threads funktionieren könnte. Ein Freund von mir hat es in Java fertig gebracht, das Programm bis zu 17 mal zu starten (danach RAM-Überlastung 8)).

In Delphi habe ich es so programmiert...

Dies ist der Aufruf in der BasisKlasse:
Delphi-Quellcode:
var Prozesse: array of Thread;
    Anzahl: integer;
    i,x:integer;
begin
  Anzahl:=StrToInt(edAnzahl.Text);

  if Anzahl < 2 then
    Anzahl:=2;

  SetLength(Prozesse,Anzahl);

  for i:=0 to Anzahl-1 do
  begin
    Prozesse[i]:=Thread.Create(true);
    setPfad(path);
    Prozesse[i].Priority:=tpHighest;
    Prozesse[i].Resume;

    if i=Anzahl-1 then
    begin
      for x:=0 to Anzahl-1 do
      begin
        Prozesse[i].Terminate;
      end;
    end;
  end;
Und so sieht der Thread aus:
Delphi-Quellcode:
constructor Thread.Create(CreateSuspended:boolean);
begin
  inherited Create(CreateSuspended);
  Priority:=tpHighest;
  FreeOnTerminate:=True;
end;

procedure Thread.Execute;
begin
  ChDir(path);
  ShellExecute(handle,'open','Client.exe',NIL,NIL,SW_SHOWNORMAL);
end;
Komischerweise, und das kenne ich von einem anderen Tool, das das selbe bewirken soll, startet das Programm manchmal zwei Clienten, manchmal sieben oder auch nur einen.

Habt ihr eine Ahnung, wie ich das optimieren könnte, damit der Start schneller abläuft oder so?
Achim
  Mit Zitat antworten Zitat
 


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 18:57 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