![]() |
Re: Priorität einer Anwendung
@runger,
Zitat:
Zitat:
Wer erzeugt den Eintrag im Tagesfahrplan. Und wo (Medium (( Datenbank, Arbeitsspeicher, Hardware-Schnittstelle)) ) wird es eingetragen. Zitat:
Schau mal im google ![]() Zitat:
Ansonsten kann man es nur tolerieren. Zitat:
Viel schlimmer ist dein Zitat "Ich weiss was ich kann! Du auch?" ... und dann erzählst du was von Echtzeit im Sekundentakt :gruebel: |
Re: Priorität einer Anwendung
Zitat:
|
Re: Priorität einer Anwendung
Hallo,
das Problem hat sich erledigt! SetPriorityClass(GetCurrentProcess,DWORD(THREAD_PR IORITY_IDLE)); Diesen Befehl in oncreate oder onshow des ersten Fensters fertig. Rainer An himutsu: vielen Dank! Dein beitrag hat mich weiter gebracht. Ist halt nicht immer so ganz einfach mit der Sucherei! |
Re: Priorität einer Anwendung
Also, wenn das so ist, dann last doch
a: das Programm in einer Schleife laufen, oder b: stellt den Timer auf 20 ms ein (ist so das Kleinste, was TTimer kann) (b ist dabei ja auch sowas wie eine Schleife ^^)
Delphi-Quellcode:
var MerkeZeit: irgendeinIntegertyp := 0;
Repeat // die Schleife ... oder Begin der Timerprozedur If MerkeZeit = AktuelleZeit Then Countinue; // oder Exit, bei der Prozedure MerkeZeit := AktuelleZeit; ... was auch immer (etwa Sekündlich) Until ; // die Schleife ... oder End der Timerprozedur Wenn Zeiten ni´ch in Sekunden vorhanden sind, dann muß halt entsprechend scaliert werden z.B. Zeiten in Millisekunden:
Delphi-Quellcode:
If MerkeZeit = AktuelleZeit div 1000 Then Countinue; // oder Exit, bei der Prozedure
MerkeZeit := AktuelleZeit div 1000; Wenn die Schleife also oftgenug aufgerufen wird, dann ist die Chance geringer, dass etwas verpasst wird. Oder ihr macht es so, wie bisher, aber merkt euch die letzte Zeit, als euer Code ausgeführt wurde, wenn ihr dann das mit der aktuellen Zeit vergleicht, wisst ihr ja, wieviele der "letzten" Sekunden noch bearbeitet werden müssen, somit wird auch nichts vergessen. Wie gesagt, Echtzeit gibt es bei Windows nicht und ihr müßt immer mal damit rechnen, dass mal euer Programm ein bissl ins stocken kommt. [edit] wieso ist der Beitrag nicht das 1. Mal eingefügt wurde? (zum Glück war alles nochim Speicher -.-'' ) [] Bitte bitte ... manchmal sieht man halt den Wald vor Bäumen nicht ;) |
Re: Priorität einer Anwendung
Zitat:
![]() Zitat:
Zitat:
Oder ich würde einen separaten Thread nehmen (Es würde mich ziemlich interessieren, warum das bei dir nicht geht.), denn ich immer mit Sleep(1000) lahmlege. Aber einen Timer würde ich auf keinen Fall nehmen. Windows ist nachrichtenbasierend und kann so mit nie ein Echtzeitsystem sein. Selbst wenn du die Priorität deines Prozesses hochsetzt.
Delphi-Quellcode:
Der Cast nach DWORD ist überflüssig, THREAD_PRIORITY_IDLE ist bereits ein DWORD. Aber kannst du mir mal erklären, was du da machst? Die Prioritätsklassen für die API Funktion sind:
SetPriorityClass(GetCurrentProcess,DWORD(THREAD_PRIORITY_IDLE));
Zitat:
![]() Zitat:
![]() Zitat:
Zitat:
|
Re: Priorität einer Anwendung
Hallo Luckie,
bitte lies meine Frage durch und die Antworten die ihr gegeben habt. Dies hätte voll und ganz genügt: SetPriorityClass(GetCurrentProcess,DWORD(THREAD_PR IORITY_IDLE)); (oder einen link darauf) himatsu hat das gekonnt! Rainer |
Re: Priorität einer Anwendung
Zitat:
Geschlossen, alles weitere per PN. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:11 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