Delphi2007からDelphiXEに変換したプロジェクトがあります。2007バージョンでは、JCLのデバッグ機能を使用して、例外が発生したときにスタックトレースを取得しました。実際、スタックトレースを取得するために次の行に依存するJCLの標準のExceptionDlgウィザードを使用しました。
StackList := JclLastExceptStackList;
これはDelphi2007で機能していましたが、XEでは機能しなくなりました(「空白」スタックをスローします)。
そのことを古典的なものに置き換えると
StackList := JclCreateStackList(false,0,Caller(0,false));
lTemp := TStringList.Create;
StackList.AddToStrings(lTemp,true,true,true,true);
ShowMessage(lTemp.Text);
lTemp.Free;
Stacklist.Free;
...動作します(したがって、マップなどにWRTが正しく設定されています)が、(残念ながら)現在のスタックトレース(もちろん、例外ダイアログが表示されます)が表示され、最後のスタックトレースは表示されません。例外。
これを修正する方法はありますか?
TIA