Форум: "Начинающим";
Текущий архив: 2008.12.07;
Скачать: [xml.tar.bz2];
ВнизForceDirectories и Exception Найти похожие ветки
← →
Andy BitOff © (2008-10-28 17:16) [0]Чего-то я не пойму, это у всех так или только у меня? Если у всех, то что за дела.
type
ESomeError = class(Exception);
...
try
if not ForceDirectories(edt_OutputDirName.Text) then begin
Raise ESomeError.Create("Не удалось создать каталог " + edt_OutputDirName.Text);
end;
...
except
on E: ESomeError do Application.MessageBox(PChar(E.Message), "Сообщение.", MB_ICONSTOP or MB_OK or MB_SYSTEMMODAL);
end;
При выполнении ForceDirectories с edt_OutputDirName.Text := , например, "qwerty" происходит Exception, при этом, соответственно, мы не попадаем на возбуждение, а так же пропускается блок except.
В чем дело? Кто-нибудь знает?
← →
Сергей М. © (2008-10-28 17:24) [1]
> мы не попадаем на возбуждение
Значит мы не возбудились - ForceDirectories вернула True.
Вот такие вот дела.
← →
Andy BitOff_ (2008-10-28 17:47) [2]Ну то что мы не возбудились, это-то я и сам понимаю ;)
Однако по логике не может ForceDirectories вернуть True при ForceDirectories("qwerty"), да и не возвращает потому, что вылазит не мой Exception. Т.е. Exception вылазит, но не этот; on E: ESomeError
P.S.
Чего-то в DMClient"е слетел пароль, а так его не помню. Так что буду пока Andy BitOff_
← →
han_malign © (2008-10-28 18:05) [3]
function ForceDirectories(Dir: string): Boolean;
var
E: EInOutError;
begin
Result := True;
if Dir = "" then
begin
E := EInOutError.CreateRes(@SCannotCreateDir);
E.ErrorCode := 3;
raise E;
end;
Dir := ExcludeTrailingPathDelimiter(Dir);
{$IFDEF MSWINDOWS}
if (Length(Dir) < 3) or DirectoryExists(Dir)
or (ExtractFilePath(Dir) = Dir) then Exit; // avoid "xyz:\" problem.
{$ENDIF}
{$IFDEF LINUX}
if (Dir = "") or DirectoryExists(Dir) then Exit;
{$ENDIF}
Result := ForceDirectories(ExtractFilePath(Dir)) and CreateDir(Dir);
end;
← →
Anatoly Podgoretsky © (2008-10-28 19:09) [4]> Andy BitOff (28.10.2008 17:16:00) [0]
Есть же отладчик.
← →
Andy BitOff_ (2008-10-28 20:06) [5]> Anatoly Podgoretsky © (28.10.08 19:09) [4]
Да, чего-то стормозил, видимо отключена отладка модулей. В общем ступил.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.12.07;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c