發表文章

目前顯示的是有「Tips」標籤的文章

[TOOLs] Visual Studio 相關 command工具

圖片
使用前置步驟: 1. 安裝一個visual studio環境 2.  在開始列表中尋找 visual studio 的 Tools command prompt 並執行 - dumpbin 「 dumpbin /exports c:\Windows\SysWOW64\user32.dll  /out:c:\user32_output.txt 」:會一一列出指定 dll 裡面的函式名稱等等資訊到指定檔案路徑中, 看檔案會比較完整,避免command prompt上顯示資料不完整。 取得這些資訊後,可利用平台叫用(Platform Invocation Services, P/Invoke)到託管的程式語言中使用。

[Halcon] [Tip] Halcon 記憶體無法釋放 Note!

天呀~這真的是一個漫長的找蟲時刻! 日以繼夜的跑~跑~跑~ 就是為了看到問題之所在呀~ 最後壓縮到...是利用Halcon函式來檢查條碼的區域有問題。 只要掠過檢查條碼的區段,記憶體就乖乖的在原地徘徊... 反之...記憶體就會一階一階的往上爬~直到爆炸為止呀! 爆炸後...系統就整個hang了,做啥都沒效...只能重開機了。 如果有類似問題,可以測試以下方式: 1.針對大圖像手動的去執行 Reset() 。   確認Halcon有釋放大型的圖像資源。 2.每次執行檢測結束時,手動呼叫 GC :   System::GC::Collect();   System::GC::WaitForPendingFinalizers();   用以確認.NET程式有做釋放資源的動作。 3.檢查是否有未釋放的資料...   是否有new了,但是沒有delete的狀況。 4.確認做大量運算的影像是否為 單一通道 。   這次就是因為這一個問題啦...把三通道的影像改為單一通道後,記憶體狀況就很好。   由於不知道Halcon內部是如何清除記憶體的,所以,可以的話,盡量餵資料量較少的影像進去囉! 感謝我親愛的同事~繼續加油測試呀!GOGO~ 連續測試跑片了15小時之後,發現還是會記憶體上漲拉!只是可以撐比較久!天呀!應該還有其他問題! 2013-11-31 更新: 最後發現是因為Halcon中的某一參數設定導致。大致用意是對Halcon運算元做多執行緒的處理,當將此參數關閉,就可以消除這個問題,但是運算速度會變慢一點... 但是不當機最大,先用這個solution吧!

[Travel] 歐洲火車通票 交通(2014 初)

圖片
2014計畫已久的歐洲之行我們使用了連續2個月的歐洲24國團體通票,主要是因為當下並不確定何時要坐車以及搭車要多少錢,所以使用了這個通票,但是整體計算下來算是差不多合算的唷! 首先,先確定一些自己需要訂哪種火車通票或是指需要購買點對點的火車票呢?如果是小於26歲就建議買青年二等的通票,由於我們超過25歲...所以...只能買頭等的啦!但是坐著也舒適咧!: ) 位置比較寬敞...嘻嘻! 歐洲通票的相關網站: 台灣購買通票的網站:http://www.raileurope.com.tw/?lang=zh_tw 會提供建議,可以直接在線上買需要的火車票或是歐洲火車通票,有通票的話也可在此網站內做訂位的動作唷!如果是多人那麼2~5人可以以團體票來購買,會比單人票便宜一點。我們四個人一起出去,但是擔心遺失的問題...所以分兩個兩個人來買。 依照自己的需要選擇票卷唷! 預定之後輸入使用者的英文名跟性別的資訊。 確認後他會顯示購買的資訊,請務必確認名稱是否與護照上相同唷!  他是寄送過來的,所以需要額外大約5歐的郵寄費用。 跟是否需要10澳元的保險,避免遭竊或是遺失的意外發生。預防萬一...保險給她買了...  訂購時會有預訂編號等等資訊,跟最後的價格...好貴阿...但是還是得買...還沒出發就每人已經花了快5萬了...只為了買一張交通票卡啊! 要按下確定刷卡付款之前...真的是給他看了千遍萬遍...確認沒寫錯才按下... 呼呼~幸好幾天後...包裹抵達~萬幸ㄚ! 台灣通票訂位的網址:http://www.raileurope.com.tw/zh_tw/book-now/article/book-a-point-to-point-ticket?re_reservation=yes 由於買到通票之後,大部分火車都是可以直接搭乘的...但是另一種"大"部分火車其實...需要額外訂位置,才可以搭乘,需要訂位跟通票一起給檢查的人看才可以通過檢查...確定買到通票之後依自己的行程來上述網址購買需要的位置。 訂位的時候當然是越 早 訂位越 好 ,因為對於火車通票他們會保留一定的位置,當便宜的訂位位置數量賣完時,就只剩下費用比較貴的訂位選擇了,但是...明明...

[Tips] 設定桌面文字顏色

圖片
今日重新安裝了一個Win 7 x64系統,而桌布心血來潮用了白底的圖片... 好潔淨、好有感,整個覺得很清爽... 對吼~~有沒有同感!? 但是,Windows似乎不會因為桌布顏色的不同,而把桌面上捷徑的文字顏色做改變... 所以就導致...桌面上變成只有icon...之外啥字都沒有... 所以就...得知道...要如何改變桌面捷徑的文字顏色囉! 看下去囉! 參考網址:http://support.microsoft.com/kb/310543/zh-tw 1. 進入控制台 > 外觀及個人化 > 個人化。 2. 選擇視窗色彩。 3. 選擇進階外觀設定。 4.  設定桌面項目中的色彩1為白色。(桌布為白色則選擇白色,若是其他顏色也可選擇其他。) 5. 確定並套用後,就可以發現桌面上的文字顏色也會有所改變唷! Windows會依照桌面的顏色去調整桌面上文字應有的顏色。太棒棒囉~!

[iMemory] 安裝記憶

圖片
紀錄一下個人安裝電腦的步驟: 1. 重灌...=_=作業系統 2. 設定開始的內容。 - 將不常使用到的(例如:遊樂場...)圖示設定成永不顯示。 - 將功能表的大小做自己需要的設定。可以讓介面看起來小巧精緻些。 3. 安裝防毒軟體! 建議安裝一套即可,多套可能會衝突。 4. 安裝RamDisk,將記憶體多2GB給暫存資料使用。 5. 安裝Google Chrome瀏覽器。 6. 設定IE瀏覽器資料暫存位置。 - 點選Move Folder去移動暫存資料要放置的位置,將之放置到RamDisk磁碟內。 - 可加速也可減少磁碟讀寫次數。 7. 設定Chrome資料暫存位置 - 在登錄編輯程式中找 HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command 底下的登錄檔,將他的值在chrome.exe"跟--"%1"中間加上 --disk-cache-dir="F:\" 即可。 - "F:\"代表的即是RamDisk創建出來的磁碟代號,每個人可能都不盡相同。 - 參考: http://herolin.twbbs.org/entry/how-to-setting-ie-chrome-firefox-cache-temp-path/ 8. 將使用者底下的桌面、音樂、下載等等的系統文件資料夾,修改路徑到一顆非系統磁碟且不太會替換的硬碟中。 - 若指向的硬碟會常拔起拔落,桌面就建議繼續放在系統碟的路徑內即可。 - 也是一個可以減少讀寫系統碟。 9. 利用regedit設定登錄檔的值。 - HKEY_LOCAL_MACHINE\System\Contrl001\Control\Session Manage\Memory Management\SecondLevelDataCache 的值為CPU的M數cache。 - ex: CPU有6M cache則十位數的狀況下輸入6 * 1024的值,用以做優化。 - HKEY_LOCAL_MACHINE\System\Contrl001\Control\Session Manage\Memory Management\LargeSy...

[Tips] Serial Port 異常?

由於機台上有安裝CCD,在每次取像時,都需要依照需求去調整、設定參數。 日前客戶端回報:怎麼跑沒一百片,影像就開始花掉啦? 蝦毀!?花掉... 由於機台狀況,每次在取像前都必須依照他在第幾隻夾爪、要正向掃圖或是反向掃圖、設定Trigger Source、Encoder Source等等...此次花掉的情形就是因為正向或反向掃圖的參數沒設定到所導致。 那怎會沒設定到? 以下是其中一種可能的理由...並不代表每個人都這樣,但是可以試試無妨唷! //------------------------------------------------------- 在Visual Studio使用Serial Port,我會使用下列類別: System.IO.Ports.SerialPort 在類別建立時,依照建構子來說,可以給他指定的連接 埠名稱、 傳輸速率、同位檢查位元、資料位元和停止位元等。 建構好Serial Port物件後,就可開始使用他來接收資料、傳送資訊等等,這些動作都會透過 Buffer當做暫存緩衝區域 。 MSDN中,可以看到有 ReadBufferSize 跟 WriteBufferSize 的 屬性,可用此屬性來設定或取得當前Serial Port輸出入的緩衝區域大小。 當每次對此Serial Port去讀取/ 寫入時,會有許多寫入或讀取到的位元組放置在Buffer區域中,久而久之,當Buffer中裝 滿 了,可能就寫不進去了。所以就導致寫入參數,但是卻沒反應或者其他的狀況發生。(我是發生在只是寫入,未讀取的狀況) 如果要解決此問題,就得要定時的清空緩衝區內的資料。 有同事建議可添加 DataReceived 事件,每當取得資料時,就利用 ReadExisting 方法去讀取緩衝區中的值,每次讀取完後,物件似乎會自己將已經讀取的資訊給清理掉。 就事件的話,可利用 DiscarcOutBuffer / DiscardInBuffer 來清空傳輸/ 接收暫存緩衝區內的資料。 就是那麼奇妙...添加事件去讀取存在的值之後,問題就消失了呢... P.S. 此篇文章主要記錄自己BUG發生的解法,並無特別再多做測試...僅供參考唷

[.Net] [Tips] 為何設定Visible沒反應?

圖片
初看這是個詭異的問題,但是只要依照邏輯思考就可以知道為什麼沒反應囉! 因為我剛開始就整個被詭異的現象嚇傻了...完全沒想到其他...就這樣花了我許多時間呀><... 拉出來看才會比較清楚一點... 看圖片可知道紅色的是Outer Panel、灰色的是Inner Panel。 Inner Panel在Outer Panel裡頭。 像是容器,Outer Panel 內裝著 Inner Pannel。 以權限來講, Outer Panel > Inner Panel... 當你想要Inner Panel->Visible = true時,必須要在Outer Panel->Visible =true的前提下才可完成。 以這個概念的前提下,當表單Form1是 Hide 狀態時,這時表單的 Visible 必定 為false 。 若這時候在調整元件的Visible為true,就會被這種機制給忽略過... 導致你不知道發生什麼事...怎麼設定了...但是卻沒反應咧!?

[CCD] Line Scan V.S. Area Scan

圖片
Line scan和Area scan有以下不同之處: 1. 感光元件(Sensor)型式不同。 2. 取像作動的需求及結果不同。 Line scan ,感光元件會使用Linear CCD Sensor線型的感光元件。一次只可拍攝可視範圍內的 一條線 。若要拍攝整張影像,需要搭配機台運動控制(固定CCD移動欲拍之物體或乘載物體之托盤/ 固定欲拍之物體移動CCD)、利用Trigger、磁性尺或光學尺來確認要拍攝的影像比例、長度是否正確; Area scan ,感光元件會使用Array Sensor陣列型的感光元件。只要直接曝光取像就可以取得在可視範圍內的 一塊面積 影像,拍攝時機台不需特別作動。若欲拍攝物體過大,會分批檢測或者會多次拍攝後做軟體接圖的動作再做檢查的動作。 參考網址: http://www.icpdas.com/products/Vision/mavis/vision_glossary_a~m_c.htm http://www.adlinktech.com/big5/solution/tech_forum.php?file=measure/20050816.htm

[.NET][Halcon] 如何使用Halcon .NET元件

圖片
使用Halcon一般會先在他的視覺化界面中測試。 開發完成後也有方法可以在Visual Studio環境中直接顯示Halcon的結果,可以讓客端直接知道跑的結果,然後去做調整。 在Visual Studio中,.NET的環境下可使用上Halcon開發的halcondotnet.dll。 (若使用xl版,則用halcondotnetxl.dll) 依照VS的版本不同,可至相對應路徑下尋找dll檔案來使用。 Visual Studio 2005 -> .NET Framework 2.0 Visual Studio 2008 -> .NET Framework 3.5 分別至%HALCONROOT%\bin\dotnet20及%HALCONROOT%\bin\dotnet35底下尋找dll。 無論是VB.NET/ C#.NET/ C++ .NET都可使用。 只是語法上有稍稍的不相同,但大抵上使用方法都是一致的。 1. 將halcon的Graphic元件放置到Visual Studio的工具箱中以便使用。 - 對工具箱點選右鍵 - 選擇Choose Items... - 用來選擇要添加的工具或控制項 或者上頭工具/選擇工具箱項目,也可進入添加。 2. 選擇Toolbox選項。可添加或刪除客製的元件或控制項。 - 選擇Browse,瀏覽資料夾選擇要添加的控制項。 - 選擇halcondotnet.dll添加HWindowControl控制項 3. 多了一個HWindowControl的.NET Framework Component,確定有勾選就按OK即可。 4. 即可在工具箱中,多出一個HWindowControl的控制項,用來顯示Halcon相關的圖檔影像。 用此控制項就可以開始在Visual Studio環境中直接顯示影像、Region等... (使用此控制項中的HalconWindow下的HWindow來顯示物件), 其用法相似PicutreBox...  

[Tips][.Net] Attach to Process...

圖片
Visual Studio內的工具"Attach to Process"附加程序,主要可追蹤在執行中且未載入完成的dll檔案資訊。主要是可將應用程式執行跟開發環境分開。 1. 執行欲追蹤的程式執行檔。     (執行檔須在最開始執行時使用一MessageBox攔下) 2. 起始訊息視窗顯示且在所有dll都未載入的狀況下,開啟visual studio程式,點選Tools/Attach to Process...,將執行中的程序附加到開發環境中。 3. 選定想追蹤程式的程式型別:(Managed/Native或是選擇Auto選項) - 若程式本身是Managed程式,Attach的程式卻選擇了Native,則會導致,進不去所設定的中斷點。 4. 設定正確後可以利用visual studio進入想進入的中斷點中。若重新啟動開發環境,也不會影響到應用程式的運行。 以上~

[Prepare] 行前計畫 - 鐵馬行 - 土城 <-> 淡水八里

圖片
年初總有很多計畫...有待今年來實行...而八里鐵馬行就是其中一項囉! 雖然看起來滿近的...但是聽過一些平時不常騎鐵馬的人實行過後的結論是...好累... 回程得坐捷運才行... 想當然爾...我想要完成自始自終都是騎鐵馬的啦! 而路線...當然得查查先, 免得半途迷路可就糗了... 先下載了政府開發的app...『單車ing』來使用...不過...無法得到我想要的資訊... 1. 利用地址查詢出路線後...會開始導航...無法直接看到起點<->目的地的路線. 2. 我的最愛只能加入已知的景點...難道我不能加入我常使用的地址嗎!? 3. 需要開啟手機的GPS定位才可以找出附近的景點、打氣行...(沒網路時怎麼辦呢...) 所以...只能分段式的上網找地圖做功課囉! 台北自行車悠遊網: http://www.bike.taipei.gov.tw/ 下載了地圖來參考參考... 大約路線如下: 去程: 大漢溪 河濱自行車道 - > 二重環狀 河濱自行車道 - > 八里左岸 河濱自行車道 回程可能自原路回來或者: 金色水岸 河濱自行車道 - > 八里左岸 河濱自行車道 - > 二重環狀 河濱自行車道 - >  大漢溪 河濱自行車道. 自家附近的成功街水門下去,出發啦! 浮洲橋碰頭,小休息一下吧。 大漢溪 河濱出發! 大漢溪 河濱轉 二重環狀 河濱... 十字路口大抉擇...看要往左或往右囉! 二重環狀 河濱! 都可以走...看起來左邊比較近吧!? 當然走近的那邊囉!哈哈! 都還沒開始騎就開始想偷懶... 依照指示...在觀音坑溪口休息一下囉! 在抉擇要先橫越關渡大橋或是...!?回來再騎這邊! 回得來嗎!?哈哈! 重頭戲當然是到了八里跟淡水之後的犒賞啦... 去八里我一定要吃魷魚拉! 上次去吃到一家...超級歐伊西 + 瑪西搜唷的魷魚... 有我喜歡的蔥跟蒜...超級棒棒的!期待呀! 衝刺吧!單車...跟人... 到底會不會成功呢...俺自己也想知道!哈哈! 2013.02.04...

登入失敗: 使用者帳戶限制。可能原因為不允許空的密碼,登入時數限制,或強制的原則限制

圖片
目前在裝設機台時...在區網中想直接使用\\IP去取得區網電腦中某資料夾的資料... 但是卻會出現下面訊息 讓我完全無法進入資料夾去存取資料. 『登入失敗: 使用者帳戶限制。可能原因為不允許空的密碼,登入時數限制,或強制的原則限制』 在網上瀏覽一下有些兒收穫... 因為電腦初始會設定帳戶若使用空密碼時只能登入主控台,不能進入指定資料夾中存取資料。 設定步驟如下: 1. 進入群組原則『gpedit.msc』 2. 電腦設定->Windows設定->安全性設定->本機原則>安全性選項 3. 將『帳戶:限制本機帳戶再使用空密碼時只能登入主控台』選項,設定為停用。 重新開機,使設定生效。 也可輸入『gpupdate /force』使設定值生效。 NOTE: 以上是在Win7專業版上測試結果...似乎家用版沒這個安全設定!? 參考網站: http://www.wretch.cc/blog/jerry0822/16193756

[Win7] 電腦管理-損毀傾印

圖片
點選電腦按右鍵->管理。 底下看到磁碟管理,點選進去後,可看到目前可使用的磁碟狀態。 上圖是一顆硬碟分成C、D兩個槽。 第一個槽是用來安裝系統用的系統槽。 上面可以看到下面有一串字: 系統、啟動、分頁檔案、使用中、損毀傾印、主要磁碟分割。 以上參考msdn的網頁: http://technet.microsoft.com/zh-tw/library/cc739417(WS.10).aspx 系統:指出磁碟區是系統磁碟區。 啟動:指出磁碟區是開機磁碟區。 分頁檔案:指出磁碟區擁有分頁檔案。 損毀傾印:指出磁碟區擁有損毀傾印。 損毀傾印 是當系統意外停止時,記憶體傾印可用來記錄系統記憶體的內容。 損毀傾印可以開關。若不需要可以關閉。 可以[我的電腦 ]->右鍵選[ 內容 ]   ->左邊的[ 進階系統設定 ]->[ 系統內容 ]下的[ 進階頁面 ]->選擇[ 啟動及修復 ]中的設定->將寫入偵錯資訊選擇[ 無 ]就可以取消損毀傾印設定了。

[Tips] [.NET] 追蹤資訊方式

圖片
當我們要追蹤某個數值或者陣列等的內容時,可使用以下方式: 1. 加入Quick Watch:     在執行時,滑鼠指到要看的資訊上,按右鍵即可加入,之後可看指定的數值或陣列的內容。     他會顯示我們剛剛指定的資訊。          另外也可以在不知道長度的陣列後加入長度, 這樣會顯示出指定長度的陣列內容。     2. 加入Bookmark:     主要是執行時,用來迅速地到Bookmark的點上,免得要用滑鼠滾很久。     滑鼠指定到需要的資訊上,選擇Edit->Bookmarks->Toggle Bookmark就會把Bookmark資訊記錄下來。     之後跑程式時,就可在Bookmark點上回來做觀察。     3. 加入Breakpoint:     設定中斷點,可以在程式執行時將程式停留在中斷點的位置。     直到允許執行再繼續跑下去,可以用來觀察當下的直或參數的內容。     十分好用。    

[.NET] [ICON] [Tips] 設定執行表單的顯示icon

圖片
一般我們使用Microsoft Visual Studio時,會有一些地方可以使用到ICON相關的資料。 1. 表單上面的ICON 2. 執行時,Toolbar上顯示的ICON 3. 執行時,執行檔的ICON   第一種及第二種ICON可以在表單時設定屬性來做定義: 第三種ICON可以把所想要使用的ICON複製到將專案目錄中的app.icon,之後在重新編譯專案即可完成。   至於ICON要從哪來?要怎麼做? 其實網路上有許多線上轉換ICON的工具就可以幫忙了,例如以下網站: http://tools.dynamicdrive.com/favicon/     參考網址: http://skyboxs.net/2010/03/507/

[iTunes] [TIPS] 將iTunes同步檔案 儲存到非預設路徑

圖片
買了i-pad2之後…瘋狂的下載了很多軟體,想要趁限免的時候抓一抓…免得之後要錢了… 抓到後來發現,我的硬碟C槽怎麼容量突然銳減…真是不知道自己用到哪裡去了… 原來是我每個下載的app的數據資料都存進來了咧!累積起來還真是不小的容量呢… 按照預設路徑,iTunes會將同步後的app資料儲存在 C:\Users\UserName\Music\iTunes 底下的資料夾內。 如何修改儲存的路徑呢? 1. 在PC下,打開iTunes,選擇上列的"編輯"->"偏好設定"->進階 2. 上圖的iTunes Media資料夾位置就是我們的app資訊儲存的位置。 為了將資料存到我指定位置,所以選擇"更改"去修改指定路徑。 並如下圖一樣,勾選複製資料的選項(歌曲加入資料庫時,將期檔案複製到iTunes Media資料夾)。 3. 選擇"檔案"->"整理資料夾" 4. 由於下面那個選項不知為何無法選擇…所以我只能選統整檔案囉! 選擇確定後,就會開始將原本在 C:\Users\UserName\Music\iTunes 底下的iTunes Media內的內容就會跑到我們剛指定的資料夾囉! 5. 完成之後,就可以把原本資料夾那邊的資料刪除囉!c槽也清出空間來囉! 設定完成之後,每次同步app都會同步到我們剛設定的位置了!就不用怕容量會爆掉啦! 參考資訊: http://support.apple.com/kb/HT1751?viewlocale=zh_TW