Results 1 to 8 of 8

Thread: EnumServicesStatus Delphy Sydney

  1. #1
    Senior Member Delphiwizard's Avatar
    Join Date
    Dec 2006
    Location
    België
    Posts
    160

    EnumServicesStatus Delphy Sydney

    Hoi, de unit hier op stackoverflow gebruik ik in diverse projecten maar bij de overschakeling naar Delphi Sydney heb ik compiler fouten op de api EnumServicesStatus functie.
    https://stackoverflow.com/questions/...service-state/
    Meer bepaald in de RebuildServicesList functie

    Ik zie dat deze veranderd is in 10.4 maar kan maar niet vinden wat ik precies moet veranderen.
    https://quality.embarcadero.com/browse/RSP-20075

    Code:
    var
      Services, S: PEnumServiceStatus;
    begin
      Services := nil;
      if EnumServicesStatus(FManager, SERVICE_WIN32, SERVICE_ACTIVE or SERVICE_INACTIVE,
                         Services^,0, BytesNeeded,ServicesReturned,ResumeHandle) then Exit;
    Iemand een idee wat dit moet worden?

  2. #2
    Overschakeling vanaf welke versie? Wat is de error die je krijgt? Hoe is FManager gedeclareerd?
    1+1=b

  3. #3
    Senior Member Delphiwizard's Avatar
    Join Date
    Dec 2006
    Location
    België
    Posts
    160
    Dit komt van de embarcadero jira site, de request voor wijziging.

    var lpServices: ENUM_SERVICE_STATUS;
    Should be as follow:
    PNumServiceStatus = ^TNumServiceStatus;
    TNumServiceStatus = ENUM_SERVICE_STATUS;
    lpServices: PNumServiceStatus;

    FManager is type SC_HANDLE (je kan de volledige unit zien op de stackoverflow link, RebuildServicesList functie, aanroep EnumServicesStatus api functie)

  4. #4
    Senior Member Delphiwizard's Avatar
    Join Date
    Dec 2006
    Location
    België
    Posts
    160
    Op variabele 'Services' van type PNumServiceStatus krijg ik dus de fout

    [dcc32 Error] ServiceManager.pas(220): E2010 Incompatible types: 'LPENUM_SERVICE_STATUSW' and '_ENUM_SERVICE_STATUSW'
    if EnumServicesStatus(FManager, SERVICE_WIN32, SERVICE_ACTIVE or SERVICE_INACTIVE,
    Services^,0, BytesNeeded,ServicesReturned,ResumeHandle) then Exit;

  5. #5
    Senior Member Delphiwizard's Avatar
    Join Date
    Dec 2006
    Location
    België
    Posts
    160
    Als ik Services^ verander naar Services compileert het wel...moet nog even kijken als de functie effectief nog werkt.

  6. #6
    Lijkt er dan op dat ze 'm iets meer verdelphied hebben door een pointer-naar-record te veranderen naar een var parameter.
    1+1=b

  7. #7
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Goleztrol, andersom, verCed dus. Mogelijk omdat de originele waarde ook NIL kan zijn, of die optie gaandeweg erbij heeft gekregen.

    Ook kan het zijn dat de policy om headers tijdens vertaling te verdelphien teruggedraaid is. (bij FPC is dat ook zo)

  8. #8
    Vergeet niet dat je Adminrechten voor nodig hebt!!

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
  •