Results 1 to 7 of 7

Thread: NLDExecute

  1. #1

    NLDExecute

    ------------
    De sources van NLDDanyUtils zijn te vinden in:
    ftp://ftp.nldelphi.com/public/OpenSo.../NLDDanyUtils/
    ------------

    Bevat 2 functies die ik op het forum bijeengeraapt heb en in een unit gestopt (alles wat ik meer dan 1x gebruik is dat lot beschoren).

    De functie "CaptureConsoleOutput" komt voor 99% van PsychoMark (ik heb enkel de "PeekNamedPipe" toegevoegd), de functie "WinExec32AndWait" denk ik gevangen te hebben op Google, maar ook op dit forum zijn er tal van posts die ongeveer dezelfde code tonen.

    Aan allen veel dank.

    Dit is de interface van NLDExecute:
    Code:
    function CaptureConsoleOutput(const ACommand: string): string;
    function WinExec32AndWait(const Cmd: string; const CmdShow: Integer): Cardinal;
    Last edited by Dany; 23-Nov-06 at 20:21.

  2. #2
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Zie evt ook de "process" unit van FPC. Die doet iets dergelijks crossplatform, en redelijk configureerbaar.

    Lazarus gebruikt deze unit om alle backend tools (compiler,ld,gdb) aan te roepen, dus ie is redelijk goed getest. Ik verwacht geen delphi compat problemen, is allemaal recht toe rechtaan.

    (Ik heb het even gezipped en de delphi gotcha's gefixed:

    http://www.stack.nl/~marcov/processdelphi.zip

    )
    Last edited by marcov; 07-May-08 at 19:47.

  3. #3

  4. #4
    Voor een project, waarbij ik een DOSbox nodig heb voor IO, heb ik de pipes.pas uitgebreid. Dit is een aanvulling op wat marcov in processdelphi heeft gepost.
    De uitbreiding maakt het mogelijk naar de DOSbox te schrijven.
    Veel plezier met de uitbreiding .
    Attached Files Attached Files

  5. #5
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Een op de peek* functie gebaseerd systeem zoals de modificatie van Maarten zit inmiddels ook in de lopende versie van TProcess, ook werkend op *nix.

    Dat is recentelijk van belang geworden want het blijkt dat als je stderr aanmaakt, maar niet regelmatig afvraagd dat de output dan kan stokken. Er is nu een lusje die de available bytes van stdout en stderr afvraagd, en leest wanneer nodig.
    Last edited by marcov; 22-Dec-14 at 15:30.

  6. #6
    Vriendelijke groeten,
    Dany

  7. #7
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Ik ben overigens weer aan TProcess aan het werken in trunk, met name unicode gebruik zonder lazarus hack. (unicodestring versie) en toevoegen van meer event opties (om dingen zoals application.processmessages pluggable te maken).

    Er zit zelfs beweging aan de Windows kant. MS blogs lijken te suggeren dat een utf8 capable console eraan komt. (in volgend jaar april update)

Thread Information

Users Browsing this Thread

There are currently 2 users browsing this thread. (0 members and 2 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
  •