Delphi Tips
0058 D1 D2 D3 D4 D5 D6 D7 3.1 95 98 作成: 1999/02/08 osamu rev 1.1 B1 B3 B4 B5 B6 B7 NT3 NT4 2K XP 更新: 1999/02/08 osamu 編集
TBitmap の Width/Height に 0 を代入すると例外が発生する
TBitmap のバグか仕様か以下のようなコードで例外が発生する。
void __fastcall TClass1::Method1( void )
{
Graphics::TBitmap *Bmp;
Bmp = new Graphics::TBitmap();
Bmp->LoadFromFile( "BMPファイル名" );
Bmp->Width = 0; // <-ここでEOutOfResource例外が発生
delete Bmp;
}
このコードは BCB1 では問題なかったが BCB3 では例外が発生する。
内部ビットマップ形式が DDB から DIB に変わったことが関連している。
Bmp->Width = 0;
の前に、
Bmp->ReleaseHandle();
とすることで回避が可能。
参照: [builder:4889] <画像> <バグ>
[新規作成] [最新の情報に更新]
How To
Lounge
KeyWords
Osamu Takeuchi osamu@big.or.jp
Tips
Delphi
Home