2010年6月2日 星期三

開新視窗產生錯誤 XamlParseException

在 WPF 中嘗試由程式呼叫打開新視窗(open new window),不知道為何會產生這個錯誤





後來查了一下,推測應該是資源沒有釋放出來,解覺得方式很簡單,只要引用 msvcr70.dll 的 _fpreset() 函式即可, 若是xp環境下可以不比特別指出這個dll 的位置,但在win7(64位元,32位元沒試過)中必須要明確的引用這個dll的路徑

msvcr70.dll 在 xp 的路徑在 C:\WINDOWS\system32


sample code

FailOpenWindow.xaml.cs (Interaction logic for FailOpenWindow.xaml)



public partial class FailOpenWindow : Window
{

[DllImport("msvcr70.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int _fpreset();

public FailOpenWindow()
{
// Reset the Floating Point (When called from External Application there was an Overflow exception)
_fpreset();

InitializeComponent();
}

}




參考網址 http://social.msdn.microsoft.com/Forums/en/wpf/thread/a31f9c7a-0e15-4a09-a544-bec07f0f152c

沒有留言: