locked
有用到 OpenFileDialog 時要如何除錯啊? RRS feed

  • 問題

  • Dear All:

    在 Silverlight 中用 OpenFileDialog 來取得檔名後顯示在 TextBox 中,程式運作正常... 但如果設中斷點逐步執行時,在 if(d.ShowDialog() == true) 的判斷式時(如下簡單程式碼示意),總是會出現 SecurityException => "對話方塊必須由使用者起始。"的異常,想請問像這種情況該如何除錯呢? 因為日後真正想除錯的點會是在 "if" 的判斷式之後? 謝謝!!

    例:

    private void Button1_Click(object sender, RoutedEventArgs e)
    {
        OpenFileDalog d = new OpenFileDialog();

        if(d.SHowDialog() == true)                      // 中斷點設在這,單步執行到這後會出現
                                                                          SecurityException。

        {
                // 將來想要處理的程式內容。   <--- 但這裡才是將來想真正除錯的程式碼。但進不來就無
                                                                  法除錯了,有辨法進得來嗎? 該怎麼做?
        }

    }


    March3rd
    2010年10月8日 上午 02:59

解答

  •         bool? result = fileDialog.ShowDialog();
            if (result == true) //中斷點設這裡
             {
              System.IO.Stream fileStream = fileDialog.OpenFile();
              System.IO.BinaryWriter sw = new System.IO.BinaryWriter(fileStream);
              sw.Write(currentDocument.Document1);
              sw.Flush();
              sw.Close();
            }      
    
    變通一下就可以了,如上述程式碼。
    2010年10月8日 上午 03:20

所有回覆

  •         bool? result = fileDialog.ShowDialog();
            if (result == true) //中斷點設這裡
             {
              System.IO.Stream fileStream = fileDialog.OpenFile();
              System.IO.BinaryWriter sw = new System.IO.BinaryWriter(fileStream);
              sw.Write(currentDocument.Document1);
              sw.Flush();
              sw.Close();
            }      
    
    變通一下就可以了,如上述程式碼。
    2010年10月8日 上午 03:20
  • 真是一語驚醒夢中人...
    抱歉,因未寫過 Web 相關的程式(或說 RIA 比較適切吧!!),以前很多在 Windows Application 都寫成習慣 ~"彊化了",目前也在慢慢的習慣 silverlight 的開發特性中...也很喜歡這個語言與工具 :-D ,感謝點醒!! 很喜歡您 blog 中的文章,我相信對我們這些 silverlight 的初學者(支持者)有很大的幫助,也很贊同您對軟體開發的各種觀點,讚!! 支持也期待您明年的寫作計劃!! :-D
    March3rd
    • 已標示為解答 March3rd 2010年10月8日 上午 03:41
    • 已取消標示為解答 a-talinModerator 2010年10月8日 上午 05:36
    2010年10月8日 上午 03:41