Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > LoadPackage и C++Builder 2010


Автор: drval 15.11.2009, 23:20
Здравствуйте!
Столкнулся с такой ошибкой в CG2010:
Если в исп. файле (или bpl) загрузить другую bpl при помощи LoadPackage и затем выгрузить, 
то любая затем возникающая исключительная ситуация не перехватывается и приложение завершается аварийно.
вот способ воспроизведения:
1. создать пустой проект Package.
2. создать vcl-проект, добавить 2 кнопки на форму:
Код

void __fastcall TForm3::Button1Click(TObject *Sender)
{
  AnsiString s = ExtractFilePath(Application->ExeName) + "pkg.bpl";
  unsigned int p = LoadPackage(s);
  UnloadPackage(p);
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button2Click(TObject *Sender)
{
  try
  {
   throw Exception("x");
  }
  catch( Exception &e )
  {
   ShowMessage(e.Message);
  }
}
//---------------------------------------------------------------------------

Если нажать вначале кнопку загружающую/выгружающую пакет, а затем кнопку вызывающую Exception — приложение завершится аварийно.
Как бороться с этим багом?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)