Results 1 to 5 of 5

Thread: TIdHTTPServer OnCommandGet probleem

  1. #1
    Senior Member pcoenen's Avatar
    Join Date
    Apr 2001
    Location
    Tesssenderlo, België
    Posts
    210

    TIdHTTPServer OnCommandGet probleem

    Delphi 10.2.3, standaard bijhorende Indy versie

    Component: TIdHttpServer

    Probleem: op het moment dat ik het 'OnCommandGet' event gebruik, voegt Delphi de units IdContext en IdCustomHTTPServer toe aan de Uses clause van de interface sectie terwijl deze er al staan. Opnieuw verwijderen helpt, Delphi voegt deze steeds toe. Verder bij elke wijziging in code, op het moment dat ik de unit save, voegt Delphi ze opnieuw toe (3x, 4x, ..).

    Dit heb ik nog nooit meegemaakt .

  2. #2
    I7 7700K 32Gb Win10 Pro Wok's Avatar
    Join Date
    Dec 2002
    Location
    Alkmaar
    Posts
    1,863
    Dan kunnen de benodigde units niet gevonden worden, en worden ze automatisch bij gevoegd.
    Waarschijnlijk staat er een typefoutje in je uses (of een niet ascii character)

    De hele Uses knippen, en in een kladblok plakken.
    En alleen de hoogstnoodzakelijke units toevoegen.
    En dan proberen te builden.
    En unit voor unit, toevoegen. (typen!!)
    Dan zal je probleem vanzelf verdwijnen
    10.1, Delphi2010, of Lazarus 1.8.4

  3. #3
    Senior Member pcoenen's Avatar
    Join Date
    Apr 2001
    Location
    Tesssenderlo, België
    Posts
    210
    Als test. Nieuwe applicatie in Delphi gestart. Component TIdHTTPServer geplaatst op het form. Save en compile = OK. Units IdContext en IdCustomHTTPServer zijn toegevoegd door Delphi. Geen probleem tot nu toe.

    Vervolgens 1 dummy regel toegevoegd in het OnCommandGet event van TIdHTTPServer (via het component zelf) => problemen met dubbel toevoegen van IdContext en IdCustomHTTPServer units. Echt vreemd.

  4. #4
    Senior Member pcoenen's Avatar
    Join Date
    Apr 2001
    Location
    Tesssenderlo, België
    Posts
    210
    Workaround..

    Heb nu de code die in het OnCommandGet event stond verplaatst naar een aparte procedure (HTTPSrvCommandGet) en dan deze toegekend via: IdHTTPSrv.OnCommandGet := HTTPSrvCommandGet

  5. #5
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,313
    Bekend probleem bij Indy, dat is al sinds Indy 9 geloof ik.

    Wat ook zo frustrerend is: types die in eigen units staan, die niet automagisch in de uses worden gezet.
    Dus als je een TSMTPServer component neerzet, dan moet je IdMessage handmatig ook toevoegen, anders
    kun je (meestal) zo weinig.
    Of (bij latere Delphi versies): TIdBytes als parameter; in de interface heten ze nog TIdBytes, terwijl in de
    implementation de hele parameterlijst vernacheld is, waardoor de compiler zegt dat de parameterlijst niet
    overeenkomt met de event.
    TMemoryLeak.Create(Nil);

Thread Information

Users Browsing this Thread

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

Tags for this Thread

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
  •