![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите как убрать сообщение об ошибке [D7, XP]
KyRo © (2006-05-16 16:49:00)У меня есть инди фтп клиент я им отправляю файлы на сервер .
Так вот мне надо что бы на случай если сервер будет не доступен
что бы не возникало не какое сообщение виндовс , а по тихому писалось мне в лог работы программы.
var
ms : TMemoryStream;
Reg:TRegistry;
ip:String;
begin
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.OpenKey('\SOFTWARE\ATM_Log_Sender\Settings\', false);
Ip:=Reg.ReadString('FTP');
ms := TMemoryStream.Create;
cFTP.Host:=ip;
cFTP.Connect(True,10000);
try
Result:=True;
ms.LoadFromFile(ExtractFilePath(Application.ExeName)+'log.log');
cFTP.Put(ms,'log.log',False);
Try
FsMemo1.Lines.Add('Был отгружен файл( '+FileN+' Размером '+IntToStr(ms.Size)+' байт ) по адресу FTP://'+ip+' : '+TimeToStr(Time)+' '+DateToStr(Date));
Result:=True;
Except
FsMemo1.Lines.Add('Отгрузка не удалась');
Result:=False;
end;
cFTP.Disconnect;
Except
end;
end;
Как видно из кода я пытаюсь сделать через
Try .. Except .. End;
Но если коннект не возникает то программа все равно выдает сообщение на экран .
Подскажите как этого избежать ?
KyRo (2006-05-16 17:26:00) [1]ок спасибо получилось
Desdechado (2006-05-16 17:20:00) [2]> для предыдущего оператора
это какого такого?
cFTP.Host:=ip;
cFTP.Connect(True,10000);
try
Result:=True;
заменить на
cFTP.Host:=ip;
try
cFTP.Connect(True,10000);
Result:=True;
далее по тексту
KyRo (2006-05-16 17:16:00) [3]То есть сделать так ?
try
cFTP.Connect(True,10000);
Except
end;
Разве это поможет ? Вроде это вообще не правильно тогда Try .. Except .. End будет выполнятся для предыдущего оператора !!!
Сергей М. (2006-05-16 16:54:00) [4]Выполнить метод Connect() в контексте того самого "через Try .. Except .. End", а не внеего, как это реализовано судя по приведенному коду.
Ы ?