Delphi-PRAXiS
Seite 7 von 8   « Erste     567 8      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Service & on Execute (https://www.delphipraxis.net/160218-service-execute.html)

value is NULL 3. Mai 2011 17:53

AW: Service & on Execute
 
@alfold

Unbeholfen bin ich nur in den dingen die ich noch nie gemacht habe! Ich habe ja vorhin gesagt das ich mir eigentlich das ganze selbst beibringe. Bis dato habe ich Konsolen apps gebastelt und viel mit XML und Datenbanken zu tun gehabt das geht schon ziemlich easy! Einen dienst habe ich bis dato noch nie erstellt, gut wenn das die Aufgabenstellung gewesen wäre dann hätte ich keinen thread eröffnen müssen den das schaffe ich auch so ;) aber das das mit dem timer brauchte ich noch nie! Wenn ich soetwas ähnliches gebraucht habe, habe ich mir immer die aktuelle zeit ausgelesen, 5 Minuten adiert, und in einer while schleife die aktuelle zeit verglichen. ABER wenn ich das bei einem Service mache geht mir die Maschine in die knie!

Deswegen kommt es euch vielleicht so vor als ob ich euch nerven möchte aber ich Hab Delphi weser gelernt noch sonst was

Tut mir leid falls ich Unruhe in dieses Forum bringe :(

rollstuhlfahrer 3. Mai 2011 18:20

AW: Service & on Execute
 
Zitat:

Zitat von himitsu (Beitrag 1098656)
Zitat:

Zitat von rollstuhlfahrer (Beitrag 1098611)
Dann klatsch doch einfach die Timer-Komponente auf dein Form.

Service und Form paßt nicht ganz ... ist das gleiche, wie mit dem schon genannten ShowMessage.

Mir ist klar, dass das, was ein Dienst hat, kein Form ist. Es mangelt mir nur am Namen. Außerdem habe ich in einem Beitrag davor schon darüber gesprochen, dass es einen weißen Hintergrund hat (und somit eigentlich nicht zu verfehlen sein sollte).

Zitat:

Zitat von omata (Beitrag 1098661)
Zitat:

Zitat von rollstuhlfahrer (Beitrag 1098606)
Da man einen Dienst nicht debuggen kann...

Wieso kann man einen Dienst nicht debuggen?

Start->Mit Prozess verbinden Prozess auswählen und los geht es!

Dann muss ich bei mir immer wieder was falsch machen, dass es ausgerechnet bei mir nicht geht. Zudem kommt da noch der klitzekleine Unterschied zwischen System-Prozess und Delphi auf Benutzerebene. Es könnte (will Windows jetzt dafür nicht anschmeißen) sogar sein, dass das Rechte-mäßig gar nicht klappt (Edit: es geht, aber ohne Pascal-Code) und wenn es klappen sollte, kommt bei mir immer nur das CPU-Fenster wo kein Delphi-Code drin ist (den hab ich da nämlich noch nicht gefunden, werde es aber gerne nochmal versuchen).


Zitat:

Zitat von value is NULL (Beitrag 1098686)
Wenn ich soetwas ähnliches gebraucht habe, habe ich mir immer die aktuelle zeit ausgelesen, 5 Minuten adiert, und in einer while schleife die aktuelle zeit verglichen. ABER wenn ich das bei einem Service mache geht mir die Maschine in die knie!

Sag mal, funktioniert mein Beispiel jetzt etwa doch nicht oder hast du es noch gar nicht ausprobiert? - Und für Warte-Probleme gibt es in der Code-Lib das Delay von negaH, welches alle Probleme umgehen sollte (-> CPU-Auslastung oder nicht-Reaktion von Anwendungen).


Bernhard

DeddyH 3. Mai 2011 18:27

AW: Service & on Execute
 
Das weiße "Formular" nennt sich Datenmodul (wurde von himitsu bereits erwähnt) :zwinker:

alfold 3. Mai 2011 18:28

AW: Service & on Execute
 
Zitat:

Zitat von value is NULL (Beitrag 1098686)
...Tut mir leid falls ich Unruhe in dieses Forum bringe :(

ne ist es ja nicht:wink:
Nur wenn ich lese was Du schon alles gemacht hast(Programiert hast) und dann stollperst du über einen simplen Timer, den man nur draufpacken muss und doppelcklick dadrauf schon steht die Procedure, den rest da rein schreiben fertig. Dies haben die meisten Komponenten so ansich, mh...

Egal, nun weist Du ja wie man es macht:wink:

Gruss alfold

value is NULL 3. Mai 2011 19:19

AW: Service & on Execute
 
naja wie gesagt learning by doing ;)

ich würde das jetzt so machen:

Delphi-Quellcode:
procedure test.ServiceExecute(Sender: TService);
const
  seconds = 60;
var
  Count: Integer;
begin
  Count := 0;
  while not Terminated do
  begin
    Inc(Count);
    if Count >= seconds then
    begin
      Count := 0;
      //DO THE SPECIAL THINGS ;)
    end;
    Sleep(1000);
    ServiceThread.ProcessRequests(False);
  end;
end;
is zwar kein timer aber schaut auch gut aus oder gibt es hier was einzuwenden?
wenn ja bitte so erklären das ich es verstehe ;) wie ja alle schon gemerkt haben bin ich bzgl service etwas noobig ;)

lg

alfold 3. Mai 2011 20:05

AW: Service & on Execute
 
Zitat:

Zitat von value is NULL (Beitrag 1098703)
naja wie gesagt learning by doing ;)
ich würde das jetzt so machen:
...

Machen und ausprobieren, wenn es funct ist gut, wenn nicht, noch mal nachfragen:wink:

Gruss alfold

value is NULL 3. Mai 2011 20:10

AW: Service & on Execute
 
ja kanns leider erst morgen mache deswegen hab ich mir gedacht ich schreibe das mal vielleicht hat ja jemand was auszusetzen ;) bzw. muss ich mir die ganze zeit den kopf zerbrechen.... das macht mich fertig ;)

lg

edit: vorallem hab ich die timer komponente ja jetzt komplett weggelassen deshalb ;)

alfold 3. Mai 2011 20:23

AW: Service & on Execute
 
Zitat:

Zitat von value is NULL (Beitrag 1098724)
ja kanns leider erst morgen mache deswegen hab ich mir gedacht ich schreibe das mal ..

ähm wie jetzt, Du schreibst Code mit nem Texteditor oder wie soll ich das jetzt vestehn :gruebel:

value is NULL 3. Mai 2011 20:25

AW: Service & on Execute
 
programmers notepad ;)

hab delphi nur auf einem laptop und der liegt grad bei der freundin :/

alfold 3. Mai 2011 20:35

AW: Service & on Execute
 
is jetzt nicht Dein ernst!
Da geben dir die User guten Code, den du einfach ignorierst.
Klar, man kann es ja nicht ausprobieren!

sprachlos und :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:08 Uhr.
Seite 7 von 8   « Erste     567 8      

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