C++Builder6のtry内でreturnすると__finallyにいく前にローカルのAnsiStringが解放される

AnsiString string = "message";

try{
    return;
}__finally{
    ShowMessage(string);
}

結果

f:id:kidd0320:20130322181737j:plain
stringがnullになっていてメッセージは表示されない。
グローバル変数なら問題なし。

知らなかったーよ。