AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Process Priorität setzen - als Variable...
Thema durchsuchen
Ansicht
Themen-Optionen

Process Priorität setzen - als Variable...

Ein Thema von DRPEnc · begonnen am 15. Mär 2004 · letzter Beitrag vom 13. Apr 2006
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
DRPEnc

Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
 
#1

Process Priorität setzen - als Variable...

  Alt 15. Mär 2004, 20:16
Ich mal wieder, der Dauergast

Ich hab paar Processe in mein Programm eingebaut welche eine batchdatei starten. Die Priorität dieser Batch will ich nun ändern können. Ich will aber keine fixe Priorität erzeugen sondern eine Funktion dem Programm hinzuzufügen damit der User selber entscheiden kann welche Priorität die Batch erhält.

Also hier mal ein Sourceschnippsel:

Delphi-Quellcode:
ProcID := 0;
RunProcess('C:\DRPEncPrediction.bat', SW_SHOW, TRUE, @ProcID);
Zu diesem RunProcess-Befehl will ich nun eine Variable hinzufügen, sodass der Process eine Priorität erhält.
Wie mach ich das am Besten?
CU

DRPEnc
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Process Priorität setzen - als Variable...

  Alt 15. Mär 2004, 23:19
Moin DRPEnc,

wenn Dir die grobe Einteilung der API SetPriorityClass genügt, fügst Du diesen Wert einfach als Parameter hinzu, und ergänzt dann die RunProcess Routine um das setzen der Prioritäts Klasse.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
DRPEnc

Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
 
#3

Re: Process Priorität setzen - als Variable...

  Alt 15. Mär 2004, 23:27
Ich will ja eine variable PritorityClass. Sozusagen eine Option die Pritorität zu setzen und dann den Process mit dieser zu starten.

Wie soll ich deiner Meinung deinen Vorschlag umsetzen?

Eine Variable setzen, die dann mit der Pritoritätsklasse belegt wird?
Falls dies geht müsste ich 'Normal' als Standart setzen.
CU

DRPEnc
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Process Priorität setzen - als Variable...

  Alt 15. Mär 2004, 23:32
Moin DRPEnc,

warum sollte das nicht gehen?
Du könntest z.b. eine ComboBox einbauen, die die Texte für die Prioritätsklassen enthält, und bei denen die Items noch die korrespondierenden Werte der Konstanten als Objekt enthalten. Mit dieser Methode könntest Du Dir sogar noch ein Umrechnung von Index in Wert ersparen.
Das Ganze dann noch mit dem Stil DropDownList, damit man nichts eingeben, sondern nur auswählen kann.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
DRPEnc

Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
 
#5

Re: Process Priorität setzen - als Variable...

  Alt 19. Mär 2004, 18:50
K, habs mal aufgeschoben...

Delphi-Quellcode:
 H := GetCurrentProcess();
  SetPriorityClass(H, HIGH_PRIORITY_CLASS );

  // NORMAL_PRIORITY_CLASS
  // IDLE_PRIORITY_CLASS
  // HIGH_PRIORITY_CLASS
Sind ja die Prioritätsklassen.
Nun muss es ja ins programm eingebunden werden. Wie gesagt als variable...

Ich dachte mir das so:

Drobdownmenu mit den einzelnen Klassen die dann jeweils in ne Edit getextet werden.

Und dann folgenden Code ausführen:

Delphi-Quellcode:
A:= GetCurrentProcess();
        B:= form1.Edit1.text;

SetPriorityClass(A, B );
ShellExecute(0, Nil, PChar(form1.edit2.text), Nil, Nil, SW_NORMAL);
Oder liege ich da irgenwie falsch?
CU

DRPEnc
  Mit Zitat antworten Zitat
Skiron

Registriert seit: 14. Dez 2003
153 Beiträge
 
#6

Re: Process Priorität setzen - als Variable...

  Alt 19. Mär 2004, 19:02
du könntest die prioritäten als konstanten deklarieren:
Delphi-Quellcode:
var
  Priorities: array[0..3] of longint =
    (REALTIME_PRIORITY_CLASS, HIGH_PRIORITY_CLASS, IDLE_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS);
Somit kannst du hier einfach mit dem Index zugreifen
Mann zu Frau:
Zieh dich aus, wir müssen reden!
  Mit Zitat antworten Zitat
DRPEnc

Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
 
#7

Re: Process Priorität setzen - als Variable...

  Alt 19. Mär 2004, 20:08
Delphi-Quellcode:
var
  Priorities: array[0..3] of longint =
    (REALTIME_PRIORITY_CLASS, HIGH_PRIORITY_CLASS, IDLE_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS);
  A:= GetCurrentProcess();
begin
SetPriorityClass(A, Priorities );
ShellExecute(0, Nil, PChar(form1.edit2.text), Nil, Nil, SW_NORMAL);
Und so einstetzen?
CU

DRPEnc
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Process Priorität setzen - als Variable...

  Alt 19. Mär 2004, 20:10
Moin DPREnc,

hast Du Dir meinen Vorschlag mit der ComboBox überhaupt mal angesehen?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
DRPEnc

Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
 
#9

Re: Process Priorität setzen - als Variable...

  Alt 19. Mär 2004, 20:56
Wollt alle Möglichkeiten mal sehen. Das mit der Dropdowncombo gefällt mir auch am besten ...
CU

DRPEnc
  Mit Zitat antworten Zitat
DRPEnc

Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
 
#10

Re: Process Priorität setzen - als Variable...

  Alt 19. Mär 2004, 21:35
Hi Seehase. Kannst Du mir auf die Sprünge helfen?

So weit bin ich nun:

Combobox als Listbox mit den Prioritäten.
Werden in eine Edit geschrieben.
Nur weis ich nicht wohin die Priorität in den RunProcess kommen soll...

RunProcess('C:\DRPEncPrediction.bat', SW_SHOW, TRUE, @ProcID);
CU

DRPEnc
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 17:46 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