Service Controller in XBase

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
Benutzeravatar
Friedhelm
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 46
Registriert: Sa, 08. Apr 2006 17:20
Wohnort: Leverkusen
Kontaktdaten:

Service Controller in XBase

Beitrag von Friedhelm »

In Xbase++ ab vers. 1.9 gibt es eine Möglichkeit Services (Dienste) im Betriebsystem zu hinterlegen und über einen ServiceController zu kontrollieren.
Ich habe das Beispielprogramm aus Xbase (source->samples->apps->simpleservice) kompiliert und ausprobiert.
Das Installieren und Deinstallieren des Dienstes "SimpleService" klappt. Wenn ich jedoch die den Service starten will (egal ob aus dem Windows Controllmanager oder mit dem Xbase ServiceController) meldet mir der Dienst "Der Dienst antwortete nicht rechtzeitig auf die Start- oder Steuerungsanforderung".

Hat jemand eine Idee woran das liegen kann und wie man den Service richtig startet? #-o
Gruß Friedhelm
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16517
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Service Controller in XBase

Beitrag von Martin Altmann »

Hallo Friedhelm,
das hatte ich auch häufiger...
  • DEP ausgeschaltet?
  • Problem in einem Programmteil, der für einen Absturz sorgt (XPPERROR.LOG / XPPFATAL.LOG)?
Poste doch mal Dein Beispielcode...

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Friedhelm
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 46
Registriert: Sa, 08. Apr 2006 17:20
Wohnort: Leverkusen
Kontaktdaten:

Re: Service Controller in XBase

Beitrag von Friedhelm »

Hallo Martin,
Was ist DEP?

in dem Test habe ich lediglich den Beispielsource aus "SimpleService" getestet. Habe weder xppError.log noch xppFatal.log.
Gruß Friedhelm
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16517
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Service Controller in XBase

Beitrag von Martin Altmann »

Hallo Friedhelm,
DEP= Data Execution Prevention.
Spielt aber mit der aktuellen Xbase++-Version eigentlich keine Rolle mehr, war unter 1.9 so.
Der normale Beispieldienst lässt sich bei mir aber problemlos starten.
Hast Du einen User angegeben, unter dem der Dienst laufen soll und hat dieser User auch das Recht, sich als Dienst am Betriebssystem anzumelden? Liegen alle benötigten DLL-Dateien in dem Verzeichnis, in dem auch Dein Programm liegt?

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15697
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Service Controller in XBase

Beitrag von brandelh »

Hi,

die Dienste werden ohne Benutzereinstellungen gestartet !
D.H. weder NET USE / SUBST Laufwerkszuordnungen, noch Pfade sind aktiv.
Alle DLL müssen zur EXE und die DBF etc. müssen direkt zugreifbar sein.

Dann gibt es manchmal das Problem, dass der USER des Dienstes (System oder so) noch nicht das Recht hat Dienste zu starten.
Ich meine das steht in der Readme wie man das korrigiert.
Gruß
Hubert
Benutzeravatar
Friedhelm
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 46
Registriert: Sa, 08. Apr 2006 17:20
Wohnort: Leverkusen
Kontaktdaten:

Re: Service Controller in XBase

Beitrag von Friedhelm »

Vielen Dank für die Hilfe!! :angel8:

Mein Fehler war:
Ich hatte den Dienst auf dem Systemkonto gestartet. Die PATH Umgebungsvariable in der der Verweis auf die Xbase++ Runtime.DLL's stand war
nur in meinen Userkonto enthalten. Dadurch konnte der Dienst die Laufzeitbibliotheken finden.

Die Lösung:
Die benötigten Runtime-DLL's íns System32- oder einfacher in das EXE-Verzeichnis des Dienst.exe stellen.

Wen's interessiert:
Der Dienst den ich eingerichtet habe holt aus dem Internet die aktuellen intern. Währungskurse ab und berechnet Artikelpreise in einer Datenbank neu.
Dazu habe ich einen HTML-Parser in Xbas++ geschrieben der die benötigten Angaben mit Hilfe der ASINET aus einer Internet-Site ausliest.
Den HTML-Parser könnt Ihr euch anschauen. Er steht unter ftp://tobax.de/to/tobax.de/Xbase++/XChangeScanner.zip . :confused1:
Gruß Friedhelm
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15697
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Service Controller in XBase

Beitrag von brandelh »

Hi,

auf welcher Website holst du denn die Kurse ?
Gruß
Hubert
Benutzeravatar
Friedhelm
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 46
Registriert: Sa, 08. Apr 2006 17:20
Wohnort: Leverkusen
Kontaktdaten:

Re: Service Controller in XBase

Beitrag von Friedhelm »

Hi,

Ich habe diverse Webseiten gesucht und diese letztendlich ausgesucht:

"http://www.waehrungskurs.de/content/kur ... ?bezug=EUR"
Gruß Friedhelm
Antworten