Einzelnen Beitrag anzeigen

BrightAngel

Registriert seit: 13. Mär 2007
130 Beiträge
 
#16

AW: Text Datei von Delphi Programm an einen Linux PC senden

  Alt 16. Mär 2017, 08:20
Genau, das ist die Intention. Nur WinExec ist nur Zwecks Kompatibilität noch da (siehe diese Notiz ganz oben).
Mehr Kontrolle (und moderner) geht es mit der Aufruffamilie um CreateProcess. Damit kannst du dann auch sehr fein einstellen, was genau aufgerufen wird.

[Edit 1]
Anders als putty (wo es ja um Interaktivität geht), brauchst du bei pscp grundsätzlich nicht das stdIn/Out des neuen Prozesses. Jedoch bist du vermutlich am Erfolg und des Fortschritts der Übertragung interessiert!? Ich habe das jetzt bei pscp nicht getestet; vielleicht kannst du grundsätzlichen Erfolg über den ExitCode von pscp herausfinden? Wenn du mehr Details brauchst, dann müsstest du dir gegebenenfalls StdOut besorgen und die Ausgabe in deinem Programm weiterverarbeiten.
[/Edit]

[Edit 2]
Falls du das mit CreateProcess machen solltest, seien dir in der STARTUPINFO die Felder hStdOutput und hStdError (ganz unten in der Struct) wärmstens zu empfehlen
[/Edit]

[Edit 3]
Das Handle kannst du mit CreatePipe erzeugen. Dieser Aufruf erzeugt eine Pipe mit zwei verbundenen Handles. Das eine Ende kannst du dann dem neuen Prozess übergeben und aus dem anderen kannst du dann (z.B. in einem eigenen Thread in deinem Programm) wiederholt lesen, bis das Programm sich beendet/du das Programm beendest/die Ausgabe des Programms dich nicht mehr interessiert/.... Aufräumen nicht vergessen.
[/Edit]

[Edit 4]
Nachtrag: Artverwandtes Thema gefunden; Klick!
[/Edit]

Brighty
Do you have the email of god??? --- I have to tell him that I'm happy to be born!

Geändert von BrightAngel (16. Mär 2017 um 08:46 Uhr)
  Mit Zitat antworten Zitat