Results 1 to 9 of 9

Thread: Vreemd Service probleem ?!

  1. #1
    Senior Member Willemm's Avatar
    Join Date
    Oct 2001
    Location
    Tilburg
    Posts
    797

    Vreemd Service probleem ?!

    Beste Mensen,

    Ik heb van mijn applicatie een Service gemaakt. tot zover ok.
    In mijn applicatie heb ik een scherm waar settings kunnen
    worden gezet. Dit werkt ook prima.

    Behalve......

    Wanneer ik mijn applicatie als service start!

    Dan kan ik in de (spin)edits géén waarden invoeren.
    (alsof editorenabled uit staat). Ik kan de waarde wel
    aanpassen door met de muis op de up/down te klikken,
    of met de pijltjes toetsen... Het (spin)edit veld is dus
    wél beschikbaar enzo...

    Wanneer ik mijn settings wil openen, dan roep ik een
    password formpje aan, waarop ik wél de edit kan invullen!!!!

    En wanneer ik mijn applicatie weer gewoon start, dus niet als
    service, dan werkt het allemaal perfect. (uiteraard dan met
    dezelfde .pas bestanden)

    Hoe kan dit nu weer ?!?!??!?! Help!

    Bvd,
    Willem.
    Een vraag zal nooit dommer zijn dan degene die hem stelt.

  2. #2
    Een service als in NT service? Hoe start je je applicatie als service dan?
    We adore chaos because we like to restore order - M.C. Escher

  3. #3
    Heb je je service wel op interactief gezet?
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	image1.png 
Views:	233 
Size:	14.7 KB 
ID:	1287  
    Marcel

  4. #4
    De Delphi TService ondersteund Interactive Services niet (zie documentatie); alhoewel ik er geen rare problemen mee heb gezien: de service kan draaien als er geen WindowStation kernel object is en dan kan het form nooit gemaakt worden. Als het form getoond wordt en de user logt uit en weer aan, het je echt de poppen aan het dansen. Meer info hierover is op het Internet te vinden.

    Ik probeer dan ook normaal gesproken de service via een RPC techniek te benaderen. Ik gebruik meestal een file memory mapping op naam (zie CreateViewOfFile etc). De gebruikelijke window messages werken niet omdat de services onder een eigen windows station draaien en dus niet bereikbaar zijn. Een apart GUI-tje opent dezelfde file memoy mapping en communiceerd dan op die manier...

  5. #5
    Senior Member Willemm's Avatar
    Join Date
    Oct 2001
    Location
    Tilburg
    Posts
    797
    Ja, mijn service is interactief, anders zou ik volgens mij zowieso
    geen form kunnen openen..... Maar waarom kan ik nu sommige edits
    wél vullen, en anderen weer niet?! (lijkt en is volgens mij niet logisch)

    Heeft het met form instellingen te maken, of moet ik mijn service anders starten ?
    (ServiceType = win32, StartType = Auto)

    Heeft het misschien met tabbladen te maken ????

    Het is eigenlijk wel een gr????t probleem... ik moet volgende week in productie,
    en dan komt er weer z??iets om de hoek kijken


    (Het is inderdaad een TService)
    Een vraag zal nooit dommer zijn dan degene die hem stelt.

  6. #6
    Het vullen van een TEdit gaat intern via een WM_SETTEXT. Gezien het feit dat je met processen onder verschillende WIndowStations werkt (elke thread kan aan een ander Hwinsta object worden gekoppeld) kan ik me voorstellen dat het vullen vanuit de thread van het form zelf wel werkt maar vanuit een andere thread niet (Services zijn inherent multi-threaded). Een oplossing zou kunnen zijn om de alles via synchronize door te geven.

    ServiceType & StartType zijn correct.

    NB: Als je interactieve services wil kan je altijd kijken naar SvCOM, die ondersteund ze wel. Ik heb er zelf alleen naar gekeken en mee gespeeld maar niet gebruikt in een project dus...

  7. #7
    Originally posted by KILLogic
    Ik probeer dan ook normaal gesproken de service via een RPC techniek te benaderen. Ik gebruik meestal een file memory mapping op naam (zie CreateViewOfFile etc). De gebruikelijke window messages werken niet omdat de services onder een eigen windows station draaien en dus niet bereikbaar zijn. Een apart GUI-tje opent dezelfde file memoy mapping en communiceerd dan op die manier...
    En hoe verzeker je dat er niet in wordt geschreven als de ander nog aan het lezen is? Of dat niet beide tegelijk aan het schrijven zijn?

    Ik pak meestal pipes of tcp/ip. Daarmee heb je nog als extra voordeel dat je het beheer ook op afstand zou kunnen doen.
    We adore chaos because we like to restore order - M.C. Escher

  8. #8
    Senior Member Willemm's Avatar
    Join Date
    Oct 2001
    Location
    Tilburg
    Posts
    797
    Met AstaServerLauncher kan ik een .exe als service laten opstarten in windows.
    Ik heb het zo maar opgelost. Via een omweg, maar daar kraait geen
    haan (= klant) naar.

    Toch bedankt
    Een vraag zal nooit dommer zijn dan degene die hem stelt.

  9. #9
    Zo'n util zit ook in de windows resource kit: srvany.exe
    We adore chaos because we like to restore order - M.C. Escher

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. .Net Updates
    By Robert in forum .NET
    Replies: 75
    Last Post: 29-Dec-06, 02:01
  2. Vreemd probleem outlook 2003
    By cyberde in forum Koffiehoek
    Replies: 10
    Last Post: 24-Nov-04, 21:48
  3. Vreemd Paradox Filter probleem.
    By RobertX in forum Databases
    Replies: 2
    Last Post: 26-Jan-04, 16:18
  4. dialog/service probleem
    By Dunebuggy in forum Algemeen
    Replies: 4
    Last Post: 04-Mar-03, 20:15

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •