Hi,
Problem: mittels doscommand wurde durch 'cmd' ein Kommandozeilenaufruf (z.B. nslookup) gestartet:
Delphi-Quellcode:
DosCommand1.CommandLine := 'cmd';
DosCommand1.Execute;
DosCommand1.SendLine(edit1.Text,true); // in edit1.text steht das Kommando z.B. nslookup o.ä.
Die Ausgaben sind zunächst einmal irrelevant und werden nur ein einem Memofeld sichtbar gemacht.
Mittels:
DosCommand1.SendLine(edit1.Text,true);
werden nun weitere Befehle ins nslookup eingegeben. Wenn nun der Timeout zuschlägt und das Doscommand beendet, oder man einfach stumpf die Applikation schliesst, bleibt nslookup aktiv. Es macht allerdings keinen Sinn bei onFormClose oder "OnDoscommandend" das entsprechende 'exit' oder 'quit' einzutragen, da über die Funktion ein beliebiges Programm aufgerufen (gibt ja auch welche mit tiefen Verschachtelungen wie z.B. adsutil, wo man 5-8x quit eingeben darf) werden kann. Es müsste doch eine Möglichkeit geben, beim Abschiessen des CMD das dadurch aufgerufene Programm zu beenden
Gruss
EL