![]() |
Re: Wie funktioniert DosCommand?
Zitat:
Buffer, der von anderen Klassen nutzbar ist, schreiben und dort auswerten. Oder direkt im Erignis auswerten. Wie der Name des Ereignises onNewLine vermuten läßt wird es bei jeden Carriage Return LineFeed ausgelöst. Grüße Klaus |
AW: Wie funktioniert DosCommand?
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Gemeinde,
Ich beschäftige mich aktuell auch gerade mit DosCommand. Super finde ich die Möglichkeit live die Ausgaben der Console zu erhalten. Meine Frage ist ob DosCommand auch mit einem anderem Comandozeilenprogramm genutzt werden kann. Speziell geht es mir hier um die Datei TNCCMD.exe von Haidenhain. In den Beispielen die ich bisher gefunden habe wird ja immer cmd von Windows genutzt. Mein Versuch sieht bisher so aus: Aufruf meiner Batchdatei:
Delphi-Quellcode:
meine Batchdatei:
CMD.OutputLines := Memo1.Lines;
cmd.CommandLine := 'run.bat'; cmd.Execute;
Code:
und noch das was im Memo1 ausgegeben wird:
TNCCMD.exe Connect I- 192.168.2.81
pause ![]() Nun ist halt die Frage ob ich die TNCCMD.exe anders angeben muss, bzw ob es überhaupt so funktioniert. Seltsam kommt mir auch die doppelte Ausgabe der Zeilen vor. Ich hoffe ich habe ausreichend Infos gegeben das Ihr mir Helfen könnt. mfg Herik |
AW: Wie funktioniert DosCommand?
Kann mir keiner helfen?
|
AW: Wie funktioniert DosCommand?
Anstatt einen fast 10 Jahre alten Thread wiederzubeleben, wäre es vielleicht besser einen neuen aufzumachen. Ich persönlich neige eher dazu, solche Zombies zu ignorieren. Abgesehen davon, könnte man den Titel auch besser an dein aktuelles Problem anpassen.
|
AW: Wie funktioniert DosCommand?
Ok. Danke. Werde ich machen. :)
|
AW: Wie funktioniert DosCommand?
Der Name DOSCommand verwirrt mich. Windows 10 hat doch gar keinen DOS Kernel mehr. Wie können da DOS Befehle ausgeführt werden?
Oder gibt dieser Code an die Windows Console weiter? Und erlaubt so Zugriff auf die Windows Eingabeaufforderung bzw. die Powershell? Der Quellcode sagt mir, dass mit DOS die Console des Betriebssystems gemeint sein muss, Windows Console oder PowerShell, da gewöhnliches DOS schon mal kein Multitasking kann. Aber DOSCommand kann das lt. Quellcode. @Uwe Raabe: Anstatt einen fast 10 Jahre alten Thread wiederzubeleben, wäre es vielleicht besser einen neuen aufzumachen. ------------------------------------------------------------------------------------------------------------ Der Nachteil wäre dann aber dass mehrere Threads mit demselben Thema da wären. Welcher davon enthält dann die von mir gesuchte Antwort? Ich finde deshalb einen Thread pro Thema besser. |
AW: Wie funktioniert DosCommand?
Die Komponente heißte einfach so .... viele nennen die "CMD" (jetzt "Terminal") auch immernoch DOS-Konsole.
Ja, die Komponente gibt die Befehle an die CMD.exe weiter. Multitasking: Nein, auch die "Konsole" kann MultiTasking ... man kann Programme im Hintergrund starten, auch wenn es selten wer nutzt. Jede CMD.exe (plus ihren ConsoleHost.exe) für sich machen quasi einen Thread/Task .... und die Komponente kann einfach mehrere CMD.exe starten und mit ihnen reden (denk ich mal). |
AW: Wie funktioniert DosCommand?
Zitat:
Zitat:
Zitat:
console application had special flags in the EXE to make the OS automatically create the pipes for the emulation host app while GUI application doesn't have this. (by pipes i mean the stdinput and stdoutput..) For fun application try to use WriteLn in GUI application :) play with such code and see how closing the console will terminate the GUI app !
Delphi-Quellcode:
To read more about consoles
procedure TForm10.Button1Click(Sender: TObject);
begin AllocConsole; end; procedure TForm10.Button2Click(Sender: TObject); begin Writeln('Testing console output from GUI application'); end; ![]() And again to assert, there is no real DOS command in windows, only allowed emulated behavior (input/output). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:58 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