Обработка ошибки в компоненте Timage [C++ VCL Builder 11]C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Обработка ошибки в компоненте Timage [C++ VCL Builder 11]

Сообщение Гость »

Я использую компонент TImage для загрузки изображения из файла.
[Embarcadero C++ Builder 11.3]
"pic.bmp" является допустимым изображением. р>

Код: Выделить всё

Image1->Picture->LoadFromFile("C:\\SomePath\\pic.bmp");
Однако это полностью работает так, как задумано.
"pic2.bmp" — поврежденный файл.

Код: Выделить всё

Image1->Picture->LoadFromFile("C:\\SomePath\\pic2.bmp");
отображает окно сообщения, информирующее об ошибке, и завершает остальную часть процедуры.
Чего я действительно хочу, так это того, чтобы ошибка была обнаружена и на его месте загружается и отображается «разбитое изображение».
Код, который я пробовал..

Код: Выделить всё

Ustr="C:\\SomePath\\pic2.bmp";

try
{
Image1->Picture->LoadFromFile(Ustr);
}
catch (const exception& e)
{
Ustr="C:\\SomePath\\ErrorPicture.png";
Image1->Picture->LoadFromFile(Ustr);
}
Похоже, что изображение игнорирует обработку и все равно отображает окно сообщения об ошибке.
Я пробовал..

Код: Выделить всё

Image1->NoErrMsg = true;
..в сочетании с try/catch. При компиляции для тестового запуска я получил ошибку компилятора: «Нет элемента с именем NoErrMsg в Vcl::Extctrls::TImage».
Я тоже пробовал..

Код: Выделить всё

#include
.
.
NoErrMsg =true;
Не сработало.
Я явно что-то упускаю и возможно это просто, но весь мой гугл-фу возвращает результаты по разрешению изображений не загружается. Мне нужно, как незаметно и незаметно обработать плохое изображение, не беспокоя пользователя окном сообщения.

Подробнее здесь: https://stackoverflow.com/questions/781 ... builder-11
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»