AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Apptype Console

Ein Thema von Ramses · begonnen am 14. Jan 2004 · letzter Beitrag vom 14. Jan 2004
Antwort Antwort
Ramses

Registriert seit: 11. Nov 2003
Ort: Saarbrücken
16 Beiträge
 
#1

Apptype Console

  Alt 14. Jan 2004, 15:50
Hallo.

Ich habe ein Konsolenprog. entwickelt, das ich sowohl unter Delphi als auch Kylix erzeugen lässt. In dem Programm wird nur ein Indy TCP Server gestartet der auf Kommandos wartet. Der einfachheit halber habe ich alles in ein Thread - Object gepackt.

Jetzt mein Problem.
Ich starte den Server in der Methode Execute. Dann passiert ja eigendlich nicht mehr, sprich es sollte einfach nur noch laufen. Wenn ich aber jetzt einfach eine Repeat Until Terminated einsetze verheitze ich ja sämtliche CPU Zeit. Wie gebe ich die bei einem Konsolenprgramm frei? Application.ProcessMessages steht mir ja nicht zur Verfügung.

Viele Grüsse,
Björn
  Mit Zitat antworten Zitat
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#2

Re: Apptype Console

  Alt 14. Jan 2004, 16:20
Hallo Ramses,

sieh mal in der OH unter TThread.WaitFor nach. Vielleicht lässt sich Dein Problem so schon lösen?
gruß, choose
  Mit Zitat antworten Zitat
Ramses

Registriert seit: 11. Nov 2003
Ort: Saarbrücken
16 Beiträge
 
#3

Re: Apptype Console

  Alt 14. Jan 2004, 17:23
Nein, leider nicht so einfach.
'Waitfor' wartet ja nur, bis die Methode Execute beendet ist. Nur die darf nicht beendet werden, solange nicht Terminated = True ist.

Hier mal der Problem Code:

Delphi-Quellcode:
procedure Tossrv.Execute;
begin
 server.active := true;

 repeat
  if not server.Active then terminate;
 until Terminated;
end;
Ist ja nicht wirklich schön. Saugt CPU - Time ohne Ende. Unter Windows wüsste ich rat, aber als Konsolenanwendung ?!
  Mit Zitat antworten Zitat
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#4

Re: Apptype Console

  Alt 14. Jan 2004, 19:07
Wenn Du wirklich pollen willst, solltest Du den Thread kurze Zeit anhalten. Wie sähe Deine Lösung unter Windows aus?
gruß, choose
  Mit Zitat antworten Zitat
Ramses

Registriert seit: 11. Nov 2003
Ort: Saarbrücken
16 Beiträge
 
#5

Re: Apptype Console

  Alt 14. Jan 2004, 20:44
Unter Windows würde ich Application.ProcessMessages einfügen.
Nur steht mir unter der Konsolenanwendung dieses nicht zur Verfühgung.
  Mit Zitat antworten Zitat
BungeeBug

Registriert seit: 19. Dez 2002
Ort: zuhause?!
227 Beiträge
 
Delphi 6 Personal
 
#6

Re: Apptype Console

  Alt 14. Jan 2004, 20:50
Gibt GetTickCount unter Linux?

Wenn ja kannst du die Delay Funktion von Luckie hier aus dem Forum nehmen ...
MfG BungeeBug
Wer andern eine Grube gräbt sollte auf Gasleitungen achten!!!!
  Mit Zitat antworten Zitat
cYaONE

Registriert seit: 18. Mai 2003
Ort: Sand am Main
192 Beiträge
 
Delphi 7 Personal
 
#7

Re: Apptype Console

  Alt 14. Jan 2004, 20:54
Mach mal Sleep(1000) in die Schleife rein, dann sollte das ohne Probleme laufen!
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Apptype Console

  Alt 14. Jan 2004, 21:18
Zitat von cYaONE:
Mach mal Sleep(1000) in die Schleife rein, dann sollte das ohne Probleme laufen!
Sleep ist auch eine Funktion der WinAPI. Ein Linux-Äqivalent heißt mglweise anders.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Ramses

Registriert seit: 11. Nov 2003
Ort: Saarbrücken
16 Beiträge
 
#9

Re: Apptype Console

  Alt 14. Jan 2004, 23:30
Das mit dem Sleep geht auch unter Linux. Hatte ich nicht mehr dran gedacht.
Es reicht schon ein Sleep(500).

Danke nochmal an alle.
  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 07:23 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