Сделал все как хотел, но.. хм (чешу бошку...)
во общем после выполнения команды мне надо жать enter что бы выполнить команду опять и это не есть хорошо
вот схема
Make(delphi) ver(4.04 build 185) Add(MainForm,7889108,224,175) { Visible=1 Position=1 Point(doVisible) link(onCreate,12273419:doEvent1,[]) } Add(Application,5949517,420,21) { Wait=1 } Add(DoData,3159661,154,203) { Data=Integer(1) link(onEventData,7889108:doVisible,[]) } Add(Hub,12273419,350,189) { OutCount=3 link(onEvent1,13003978:doRead,[(396,195)(396,111)]) link(onEvent2,264602:doLength,[]) link(onEvent3,6143367:doCompare,[(413,209)(413,258)]) } Add(Length,264602,427,196) { link(Str,13003978:Item,[]) } Add(If_else,6143367,427,252) { Op2=Integer(0) link(onTrue,3159661:doData,[(494,258)(494,158)(117,158)(117,209)]) link(Op1,264602:Result,[]) } Add(ArrayRW,13003978,427,105) { Index=Integer(0) link(onRead,7864885:doString,[]) link(Array,5949517:Params,[]) } Add(FormatStr,7864885,511,105) { Mask="\r\n%1 command [%2] done" link(onFString,5793280:doConsoleMsg,[]) link(Str1,9202476:FormatTime,[]) } Add(Time,9202476,511,56) { } Add(InlineCode,5793280,588,105) { WorkPoints=#12:doConsoleMsg| EventPoints=#12:onConsoleMsg| Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses kol,Share,Debug,Windows;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|1: |27: onConsoleMsg:THI_Event;|4: |56: procedure doConsoleMsg(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|35:procedure THiAsmClass.doConsoleMsg;|4:type|68: TAttachConsole = function (dwProcessId: DWORD): LongBOOL stdcall;|3:var|32: AttachConsole: TAttachConsole;|23: mProcessID: Cardinal;|13: Phwnd:HWND;|5:begin|0:|73: Phwnd:=FindWindow(nil, PChar(GetWindowsDir+String('SYSTEM32\CMD.EXE')));|0:|85: @AttachConsole := GetProcAddress(GetModuleHandle('kernel32.dll'), 'AttachConsole');|46: GetWindowThreadProcessId(Phwnd,@mProcessID);|0:|41: if AttachConsole(mProcessID) then begin|26: Write(ToString(_Data));|30: _hi_OnEvent(onConsoleMsg);|15: FreeConsole;|6: end;|5: end;|4:end.| link(onConsoleMsg,7889108:doClose,[(703,111)(703,12)(212,12)(212,202)]) }
исправил код
|