![]() |
AW: TDosCommand - Problem mit diversen Befehlen
Ok, es ist die Version ohne 2009 im Archivnamen, die dann angepasst und neuer ist (Hatte zuerst die von Jaenicke runtergeladen, die identisch zur Version auf der HP ist). Da steht dann allerdings einiges an Änderungen drin.
Gut, sorry nochmal für's halbe OT... aber wer das Problem des TS nachvollziehen will, sollte ja auch die gleiche Version benutzen. ;) |
AW: TDosCommand - Problem mit diversen Befehlen
Zitat:
Zitat:
Na zumindest so ähnlich, siehe ![]() Zitat:
Ich habe schon damals einiges versucht um diese Sachen zu bekommen. Die Pipes sagen einfach nix und tun so als würde auch nix passieren. Auch andere Sachen ( ![]() Ich habe sowieso letztens noch ein paar Erweiterungen in TDosCommand geschrieben, die ich brauchte (Umgebungsvariablen und CurrentDirectory setzen; ein kleines MemLeak ausmertzen und dann dachte ich noch so an dies und das, achja und Unicode - wobei ich letzteres nicht selber brauche und auch nicht testen kann und nur hoffe, dass es wie widestring/char reagiert). Achso, und wenn du willst, dass dein Consolenprogramm den output gleich an den Elternprozess ()Also TDosCommand) weitergibt musst du die Funktion "flush(output)" nach jeder Textausgabe aufrufen. Delphi speichert die Ausgabe intern in einem Buffer. WriteFile ruft Delphi ersta uf, wenn die Funktion flush aufgerufen wird, oder wenn mehr als (bei mir:siehe system.TTextRec.Buffer) 128 Bytes ausgegeben wurden. Ist also etwas Delphieigenes (wie von microsoft oben beschrieben). |
AW: TDosCommand - Problem mit diversen Befehlen
Hallo sirius,
erstmal vielen Dank für deine ausführliche Antwort. Das hilft mir schonmal ein Stückchen weiter. Zitat:
![]() [ADD] Im Projektordner der Version 2 Beta ist ein Ordner namens ConsoleHook, in dem sich vermutlich alles notwendige befindet. Nun ist nur noch die Frage, ob und wie sich das nach Delphi übersetzen lässt.:? |
AW: TDosCommand - Problem mit diversen Befehlen
Das Projekt kannte ich jetzt nicht (oder vielleicht doch, ...weis nicht).
Dieses schleust Code in den anderen Prozess rein. Ich würde es als hacken bezeichnen. Sowas ist zwar schön, wenn man es privat macht, aber ich würde ein Programm, welches auf derartige Tricks zurückgreift, nicht verkaufen wollen. Deswegen hat sowas im ursprünglichen TDosCommand nichts zu suchen. Aber ich kann mal sehen, ob ich eine Art TDosCommandEx baue. Das Prinzip in dem Projekt ist mir durchaus bewusst, und ich könnte es auch schreiben (am besten sogar ohne zusätzliche DLL). Nur einwas ist merkwürdig....siehe weiter unten Das ganze geht etwa folgendermaßen:
Was mich allerdings noch wundert ist folgendes: Wenn ich in Delphi ein ConsolenProgramm schreibe, dann hält Delphi unter bestimmten Umständen den Text zurück und schreibt ihn nicht gleich raus. Wenn die Console sichtbar ist, macht er es, wenn nicht, dann anscheinend nicht. Und das umgeht dieses Projekt irgendwie. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz