[BC5]Help nodig bij Service maken

Pagina: 1
Acties:
  • 119 views sinds 30-01-2008

  • ProgrammerX
  • Registratie: Juli 2002
  • Laatst online: 26-02-2021
De bedoeling is eigenlijk om een bestaand project, te veranderen zodat het ook als service kan draaien.

Nu heb ik al een tijdje met TServiceApplication zitten spelen, maar hier kom ik niet echt verder mee. Verder heb ik alles in de help al doorgelezen, gegoogled en de search hier gebruikt maar niet echt iets bruikbaars gevonden.

Met mijn testprojectje met de TServiceApplication heb ik de volgende problemen:
- Start ik het project zoals normaal met F9, dan loopt het voor misschien 20 seconden en dan wordt het automatisch afgesloten (onafhankelijk van de code die wordt uitgevoerd)
- Start de service zoals in de help wordt aangegeven "service.exe /install" dan krijg ik een algemene windows error (win32 error 5).

Maar ik hoop eigenlijk dat iemand wat meer informatie heeft zoals een tutorial, sample project enz, omdat het mij ook onduidelijk is hoe je user-interface moet implementeren.

  • koli-man
  • Registratie: Januari 2003
  • Laatst online: 13-05 14:28

koli-man

Bartender!!!!

dit lijkt op een voorbeeldje maar of het werkt is natuurlijk een tweede
mmm..sorry dit is een verrot voorbeeldje

[ Voor 16% gewijzigd door koli-man op 20-02-2004 11:02 ]

Hey Isaac...let's go shuffleboard on the Lido - deck...my site koli-man => MOEHA on X-Box laaaiiiff


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Weet je wel wat van services af? Een service kan je niet starten via de commandline. Dat moet altijd via de Service Manager.

Als je een fout krijg bij service.exe /install dan is er iets mis met je code. Probeer eens te debuggen. Je kan bij Run - Parameters de standaard parameter meegeven.

De code voor je service staat in de OnExecute van de service. Een Service application kan meerdere services bevatten.

Services bevatten over het algemeen geen UI. Dat wordt meestal in een apart programmatje geregeld die met de service praat. Dit omdat het vrij lastig is om een UI aan te bieden direct vanuit de Service.

Volgensmij staat er in de voorbeelden bij je BCB een voorbeeld van een Service.

Als je heel simpel je exe als service wil laten draaien moet je eens zoeken naar een programmatje met de naam srvany.exe. Daarmee kan je zonder iets te veranderen van elke exe een service maken.

We adore chaos because we like to restore order - M.C. Escher


  • ProgrammerX
  • Registratie: Juli 2002
  • Laatst online: 26-02-2021
LordLarry schreef op 20 februari 2004 @ 11:23:
Weet je wel wat van services af? Een service kan je niet starten via de commandline. Dat moet altijd via de Service Manager.

Als je een fout krijg bij service.exe /install dan is er iets mis met je code. Probeer eens te debuggen. Je kan bij Run - Parameters de standaard parameter meegeven.

De code voor je service staat in de OnExecute van de service. Een Service application kan meerdere services bevatten.

Services bevatten over het algemeen geen UI. Dat wordt meestal in een apart programmatje geregeld die met de service praat. Dit omdat het vrij lastig is om een UI aan te bieden direct vanuit de Service.

Volgensmij staat er in de voorbeelden bij je BCB een voorbeeld van een Service.

Als je heel simpel je exe als service wil laten draaien moet je eens zoeken naar een programmatje met de naam srvany.exe. Daarmee kan je zonder iets te veranderen van elke exe een service maken.
Ik heb net m'n service geinstalleerd via de commandline. De fout (win32 error 5) ontstond doordat ik geen administrator rechten had op deze machine. Starten moet inderdaad via de service manager.

Waarom ik een UI bij deze service wil hebben is omdat ik graag een overzicht wil laten zien om het scherm. Het programma kopieerd namelijk bestanden van een as400 naar een andere locatie. Wacht tot er een bepaald bestandje wordt aangemaakt door een programma van ons en kopieerd het dan weer terug. Van dit kopieren laat ik een overzicht zien op een form. Daarnaast heeft het programma nog een scherm om wat kleine instellingen te doen.

Maar als ik het goed begrijp raadt je het gebruik van een UI voor een service af ?

  • B-Man
  • Registratie: Februari 2000
  • Niet online
Een service draait ook als er geen actieve sessie is, m.a.w.: als er niemand is ingelogd. Waar moet die form dan getoond worden?

Ik weet niet hoe windows hier mee omgaat, maar het lijkt me dat windows niet zomaar het form toont zodra er iemand inlogt.
Als je een client app maakt die kan praten met je service, bijvoorbeeld de huidige voortgang/status uitlezen, en deze weergeven op een form, dan kan je nadat je ingelogd bent deze client app starten vanuit je huidige sessie.

  • ProgrammerX
  • Registratie: Juli 2002
  • Laatst online: 26-02-2021
Nou, de applicatie heeft ook een trayicon. Als er niemand is ingelogd hoeft er uiteraard ook geen form te zijn. Het mooiste zou zijn dat als er iemand inlogt dat er dan het trayicon te zien zou zijn. Indien de gebruiker er op klikt komt het form naar boven voor het overzicht en de instellingen.

Maar ik zit er nu over te twijfelen om al het visuele er gewoon uit te halen, dus het overzicht bijvoorbeeld weg te schrijven naar een logfile. De instellingen staan nu ook al in een inifile aleen hangt ern een simpele user interface voor. Deze zullen ze dan maar in de service versie met de hand moeten aanpassen (komt nauwelijks voor dus). Dan hou ik alleen de threads over met mijn code die moet worden uitgevoerd.

Verwijderd

Ik heb een soort gelijk probleem.
Graag zou ik een form willen hebben in mijn service die oa de status van verschillende dingen weergeeft. Hier wordt gezegt dat dit met een los programmatje moet die communiceert met de service.
Waar moet ik dank aan denken om dit te kunnen maken?

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Start even een nieuw topic aub volgens P&W FAQ - De "quickstart", een topic van een jaar oud kicken met enkel 'gohdawillikook' schiet niet op. En doe aub even wat eigen onderzoek, want met enkel de informatie die je nu geeft in de nieuwe openingspost gaat ie alsnog op slot: er spreekt weinig zelfwerkzaamheid uit en het lijkt erg erop dat je puur om een snelle fix even komt binnendroppen. Lees die quickstart even :)

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.