2012年5月16日 星期三

關閉 SELinux ~

   1: vi /etc/sysconfig/selinux








SELINUX=enforcing 改成 SELINUX=disabled

test

   1:  using System;


   2:  using System.Windows.Forms;


   3:  using System.IO;


   4:   


   5:  namespace WindowsFormsApplication1


   6:  {


   7:  public partial class Form1 : Form


   8:  {


   9:     public static string InvalidPath ="1:\\invlid_path.txt";


  10:    


  11:     public Form1()


  12:     {


  13:        InitializeComponent();


  14:      }


  15:     


  16:      private void Form1_Load(object sender, EventArgs e)


  17:     {


  18:         MessageBox.Show("Form1_Load 1");


  19:         string s = File.ReadAllText(InvalidPath);


  20:         MessageBox.Show("Form1_Load 2");


  21:       }


  22:   


  23:      private void button1_Click(object sender, EventArgs e)


  24:      {


  25:         string s = File.ReadAllText(InvalidPath);


  26:       }


  27:  }


  28:  }


2010年2月15日 星期一

【O專欄】備受矚目的 HTML5 Video標籤

【O專欄】備受矚目的 HTML5 Video標籤: "
【編按】YouTube開始實現以HTML5 的Video標籤播放影片,引起頗大的熱潮。加上iPad不支援Flash,更是讓Adobe頻頻挫折。不過目前使用HTML 5播放影片的網站,除了Apple以外,介面都顯得稍微陽春。但其實HTML 5 Video標籤可以做到相當多的變化,就讓謝子斌老師來告訴我們怎麼使用!(...)

》回本站閱讀全文:「【O專欄】備受矚目的 HTML5 Video標籤



© T客邦, 2010. |
文章連結 |
尚無回應 |
Add to
del.icio.us


Post tags: , , , ,


"

2010年2月8日 星期一

Excel財務函數-FV未來值

Excel財務函數-FV未來值: "讀完本篇後,不了解Excel裡的FV函數應用也難,怪老子有個怪癖:就是要你的Excel財務應用來去自如!。未來值或終值是屬於財務的基礎理論,Excel也提供了一個相對函數FV (Future Value)來呼應。相信許多人或多或少都知道什麼是未來值,但是當使用Excel FV函數時,卻常常碰到一些問題,尤其是正負號部分常常讓使用者頭疼。本篇主要介紹該函數的意義及其應用,除了理論介紹以外,還附有範例供讀者參考。"

2010年2月6日 星期六

Excel函數-NPER

Excel函數-NPER: "在財務的應用上,常常需要知道要多久可以達到投資目標,或是需要幾個月可以還清貸款。Excel提供了一個非常實用的函數:NPER (Number of Period),可以輕易的算出我們所需要的答案。"

2010年1月27日 星期三

【茶包射手日記】失落的change事件

【茶包射手日記】失落的change事件: "
有個網頁在某欄位的change事件掛了一段邏輯,依輸入內容連動其他欄位值。使用者抱怨上個月第一次使用完全正常,這個月再用時,在該欄位中輸入資料,其他欄位卻未跟著連動...
我用自己的Client連到同一網頁,跟User輸入同樣的值,一切正常。移駕到使用者座位,使用"肇事"機器實地操作,連動功能也完全正常! 莫非,這程式會認主人,只要遇到拎杯親自操作就不敢造次?
世界上有很多無法解釋的玄妙事件,但本案例並不包含在內。依茶包射手實戰手冊第748頁的記載,此種靈異現象通常是User與Developer在操作上有細微差異才造成不同結果,最好的處理方式是請User依"平日習慣"操作一次,實地進行觀察。終於發現端倪了! 原來,使用者這個月Key單時輸入該欄位的資料跟上月雷同,於是好心的IE亮出了"自動完成"提示(如下圖示意),能少打字當然要省,User使Click一下自動帶入;而我在測試時,為了確保change被觸發,潛意識驅使之下是一個字母一個字母手動輸入。重點來了--IE的自動完成有一項特性,它 不 會 觸 發 change 事 件 !

之前在測試開發階段,因偷懶加掛了One Click自動填表功能對手動測不多;而更早的手動測試階段,雖然曾反覆輸入不同值做測試,因表單沒有Submit,並不會納入自動完成提示清單(When a user submits a form, the name, value, and domain of the form component are encrypted for safekeeping),因此還是錯失"以自動完成輸入"的機會。
事件成因清楚了,要解決就不難。我想到幾種做法:
  1. 利用<input autocomplete="off" />關閉自動完成功能。
  2. 改用blur取代change,但缺點是輸入值未變時也會觸發不必要的連動邏輯。
  3. 用onpropertychange取代onchange,但缺點是會有跨瀏覽器問題,再不然就是針對IE加Javascript針對不同瀏覽器採行不同的做法。(鄉親吶~~ 看清楚,這就是跨瀏覽器要付出的代價呀!)

"

BUG-VS2008在x64 OS下會忽略Form_OnLoad的未處理例外

BUG-VS2008在x64 OS下會忽略Form_OnLoad的未處理例外: "
昨天河道上看到噗友bauann為了VS2008在W7 x64下無法順利運作,重灌到滿頭大汗外加內心淌血。我原本以為這是一起"抽中籤王"的個案,因為我公司與家裡的環境分別是Win2008 x64 + VS2008與W7 x64 + VS2008,印象中都可以正常使用。(若公司機器的VS2008有問題還混到現在,應該早就被炒魷魚了 XD)
不過,噗裡引用了一篇論壇討論,卻讓我想起一些東西...
One VERY important point is that this issue is only on exceptions raised during the Forms.OnLoad event handler (or methods called from within this event handling).
回憶起確實遇過Form_Load階段有錯誤,卻沒被VS2008抓到的經驗,當時很狐疑是否VS2008某個設定沒調好才會這個樣子,但因為不致"卡關",便未深究。
bauann提供的資訊解答了我的疑惑,我寫了一個WinForm Project來驗證:
using System;


using System.Windows.Forms;


using System.IO;




namespace WindowsFormsApplication1


{


public partial class Form1 : Form


{


public static string InvalidPath =


"1:\\invlid_path.txt";




public Form1()


{


InitializeComponent();


}




private void Form1_Load(object sender, EventArgs e)


{


MessageBox.Show("Form1_Load 1");


string s = File.ReadAllText(InvalidPath);


MessageBox.Show("Form1_Load 2");


}




private void button1_Click(object sender, EventArgs e)


{


string s = File.ReadAllText(InvalidPath);


}


}


}




果不其然,MessageBox “Form1_Load 1”後,接著就進入WinForm操作界面。理論上在File.ReadAllText那一列就該因檔案路徑亂給而發生Exception,但在x64 OS下的VS2008卻若無其事地忽略之後的程式碼MessageBox.Show(“Form_Load 2”)繼續執行。在button1_Click裡,相同的程式碼,Unhandled Exception倒可以正確地被VS2008捕捉。


由MSDN論壇的討論得知,這確認是一個VS2008的Bug,目前尚無HotFix。但有幾種解決方法:


1) 設定Exception throw時就攔截(如下圖),但這會導致每一個try { … }遇到的Exception也觸發中斷。





2) 在Form_Load()第一列加入System.Diagnostics.Debugger.Break(),然後按Ctrl-F5跑程式(Start without Debugging),如此Debugger會事後掛上去,就可攔到Unhandled Exception。


以上兩個方法都不是頂好的根治之道,只能稍稍止痛,依目前的產品發展時程,我認為這個Bug被修復的機會不太大。但由於問題出現時機只限於Form_OnLoad事件,在使用Windows x64 + VS2008寫Windows Form Project時多加留意,I think I can live with it。

"