Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
ВнизCreateProcess и ошибки Найти похожие ветки
← →
S@shka (2003-10-23 12:13) [0]Есть вот тако кусок кода
var
si:STARTUPINFO;
pi:PROCESS_INFORMATION;
cmdline:string;
begin
ZeroMemory(@si,sizeof(si));
si.cb:=SizeOf(si);
cmdline:="C:\command.com";
si.dwFlags := STARTF_USESHOWWINDOW;
si.wShowWindow := SW_HIDE;
if not CreateProcess( nil, // No module name (use command line).
PChar(cmdline), // Command line.
nil, nil,False,0,nil,nil, si,pi )
then begin
ShowMessage( "CreateProcess failed." );
Exit;
end;
WaitForSingleObject( pi.hProcess, INFINITE );
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
ShowMessage("Done ! ");
ВНИМАНИЕ ВОПРОС....
Ошибки типа неправильный формат Cmdline (например, нет такой комманды и т.п.) отлавливаются и уходят в "CreateProcess failed."
А как отлавливать если cmdline корректна а ошибка возникает в ОС на этапе выполнения комманды?
Например, copy C:\aaa.txt M:\ - не существует пути М:\
По справке это GetLastError() - но как ее использовать???
← →
clickmaker (2003-10-23 12:23) [1]GetExitCodeProcess ?
← →
Fiend (2003-10-23 12:23) [2]var Msg: PChar;
Msg:= AllocMem(65535);
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, nil, GetLastError, 0, Msg, 65535, nil);
ShowMessage(Msg);
FreeMem(Msg);
иногда нужно чтобы система использовала форматирование сообщения об ошибке и добавляла туда параметры. Для этого слегка другая конструкция вызова FormatMessage.
← →
Zacho (2003-10-23 12:25) [3]
> S@shka © (23.10.03 12:13)
> По справке это GetLastError() - но как ее использовать???
В смысле, как ? Так и используй. Если хочешь кроме кода ошибки получить еще и текст сообщения - то используй FormatMessage.
← →
S@shka (2003-10-23 12:58) [4]Собсьвенно
выполнял я вот такую комманду
cmdline:="net use Z: \\Alfa\Com"
...
res := GetLastError();
В итоге если такой ресурс есть и соединение происходит
res=1447
если такого ресурса нет то есно net use даст ошибку, по-моему 53
но оптять
res=1447
это и ???
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c