Results 1 to 4 of 4

Thread: service mag geen files uitlezen

  1. #1

    service mag geen files uitlezen

    Hallo,

    Ik ben bezig om een service te bouwen.
    Deze moet 1x in de zoveel tijd een map uitlezen.
    Ik heb hier alle code binnen een aparte object gezet en een TestApplicatie gemaakt die gebruikt maakt van het zelfde object om het te kunnen debuggen.
    Binnen de test applicatie werkt alles naar behoren.
    Echter wanneer ik de applicatie als service start gaat het mis bij het uitlezen van de files in de map (functie TDirectory.GetFiles(FlxFolder))

    Om toch een beetje te kunnen debuggen binnen de service schrijf ik een hoop naar een logfile
    Hiervoor heb ik de volgende opzet:
    Een infile met de instellingen en de logfile staan in
    E:\NavFLXSync\

    Vervolgens moeten de bestanden gelezen worden uit
    E:\NavFLXSync\Flx\

    Ik heb de gebruiker svcAegis R/W rechten gegeven op de map E:\NavFLXSync\ (incl alle submappen)
    De service draait ook onder dit account

    Het vreemde is nu dat wel gewoon in de log file mag schrijven op E:\NavFLXSync\
    Als test heb ik ook de loglocatie verplaatst naar E:\NavFLXSync\Flx\ en ook daar mag ik mijn logfile beschrijven.
    Maar ik mag niet op die locatie een filelist uitlezen.

    de code waarop het hangt is als volgt
    Code:
    for Bestand in TDirectory.GetFiles(FLXFolder) do
     FileList.Add(Bestand);
    Wat zie ik over het hoofd of zijn er wellicht andere manieren om de files uit een lezen

  2. #2
    Win32.Trojan.Heur.Herby
    Join Date
    Dec 2003
    Location
    Nuenen of all places
    Posts
    229
    Wat gebeurd er als je fysiek met dat account inlogd, mag je dan wel overal bij?
    en wat gebeurd er als je bv een DOSbox opent (shift rechter muis klik en run-as different user), kun je dan wel naar die folder toe en een DIR opvragen?

    En mogelijk dat dit je verder kan helpen:

    How to enable Logon as service privilege for a local Windows user

  3. #3
    Thanks voor de hulp.
    Middels de cmd (ingelogd onder het service account) heb ik wel toegang.
    Inmiddels lijkt het er op dat er iets fundamenteler mis is.
    Ik heb nu wel
    Code:
    for Bestand in TDirectory.GetFiles(FLXFolder) do
     FileList.Add(Bestand);
    werkend, maar loop ik gelijk vast bij mijn volgende commando waarmee ik verbinding maak met mijn database.

    1 probleem dat ik gevonden heb is dat bij mijn testapplicatie de timer standaard uit staat en bij de service deze standaard aanstaat.
    Hierdoor gingen er dus zaken scheef.
    Nadat ik dit had verholpen werkt het uitlezen van de files wel, maar kan ik nog niet mijn database benaderen
    Code:
    0 MSSQLCon := TADOConnection.Create(nil);
    Wellicht komt dit omdat ik het binnen een service niet met nil aan moet maken

  4. #4
    Bij mijn weten gaan timers en services niet lekker samen. Misschien dat dit de oorzaak is van je probleem.

Thread Information

Users Browsing this Thread

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

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
  •