插銷的圓頭朝外,左右圓角,上下平面。
Category: Tech
IT Technology, 3C, AI
-
中秋節拜拜用金紙
紀錄一下中秋節拜拜用金紙的購買:神明、祖先和地基主對應的環保金紙(薄型金紙、燃燒較不易有煙)共3包,台幣165元。
-
C# – SQLite 相關 Tips
- 透過NuGet引用的套件:Microsoft.Data.Sqlite.Core, SQLitePCLRaw.bundle_e_sqlite3
- 預計Open資料庫時就會自動建立資料庫檔案
- 建立資料表(如果沒有)SQL指令:CREATE TABLE IF NOT EXISTS table_name ( table definition )
-
Aras Innovator – Show Tab By Classification 透過javascript控制頁籤的顯示
於Form表單開啟時或是特定欄位值變更後,觸發Client Method。
function showTabByClassification() { if (!parent.relationships) { setTimeout(showTabByClassification, 30); return; } var tabbar = parent.relationships.relTabbar; if (parent.relationships.document.readyState !== "complete" || !parent.relationships.relTabbarReady || parent.relationships.relTabbar.GetTabOrder("|")==="" || !parent.relationships.currTabID) { setTimeout(showTabByClassification, 30); } else { var tabID = null; tabID0 = tabbar.GetTabId("Workflow Sign-Offs"); tabID1 = tabbar.GetTabId("Parts"); tabID2 = tabbar.GetTabId("Documents"); tabID3 = tabbar.GetTabId("Attachments"); if (classification === "Class A") { tabbar.SetTabVisible(tabID1, true); tabbar.SetTabVisible(tabID2, true); tabbar.SetTabVisible(tabID3, false); } else if (classification === "Class B") { tabbar.SetTabVisible(tabID1, true); tabbar.SetTabVisible(tabID2, true); tabbar.SetTabVisible(tabID3, true); } else { tabbar.selectTab(tabID0); tabbar.SetTabVisible(tabID1, false); tabbar.SetTabVisible(tabID2, false); tabbar.SetTabVisible(tabID3, false); } } } setTimeout(showTabByClassification, 30); -
C# – 解決 HRESULT:0x8007007E 找不到指定的模組 問題
在引用C++時若出現”HRESULT:0x8007007E 找不到指定的模組 …”的錯誤,通常有兩種原因。一種是DLL檔不在預期的位置上,一種是DLL檔執行失敗,只要針對此二原因處理幾乎能解決此問題。
DLL檔不在預期的位置上
請確保要呼叫的DLL檔案在以下任意位置上:
- 執行程式的所在目錄
- 在系統資料夾 C:\Windows\System32 (64位元系統的32位元環境則是在 C:\Windows\SysWOW64 )
- 在系統指定變數的對應位置
DLL檔執行失敗
- 執行權限不足
- 沒有該DLL檔對應的執行環境,如各版本的 Visual C++ redistributable 等等
- 該DLL檔有相依的DLL檔案但是找不到或執行失敗(參閱下面說明)
- 部署到client端的C++ 程式,沒有用 Release 組態編譯,而是用 Debug 組態
如何找出DLL檔的相依DLL檔 (以Visual Studio 2019為例)
- 請先確認已安裝 Visual C++相關開發元件及工具
- 開啟開發者命令提示字元 Developer Command Prompt for VS 2019(這邊也可以直接用一般命令提示字元瀏覽到 “C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\bin\Hostx64\x86\”)
- 下指令: dumpbin {DLL所在路徑} /dependents
即會列出該DLL檔的相依DLL檔案
Advertisements -
COVID-19 Vaccine – AZ (AstraZeneca / LSE / STO / Nasdaq / AZN ) 疫苗第1劑接種心得
- 早上完成疫苗肌肉注射後,施打處持續有刺痛感
- 施打約3小時過後,刺痛感轉成手臂肌肉疼痛
- 施打約7小時過後,頭開始有沈重感
- 施打約10小時過後,頭的沈重感轉成頭痛,並開始感到畏寒
- 施打約12小時過後,開始發燒且頭痛症狀加劇,此外,全身常用肌肉部位開始感到酸痛
- 頭痛、發燒、肌肉酸痛讓人不易入睡。這晚上是我症狀最明顯的時刻
- 隔天早上起來症狀仍在且明顯
- 隨著時間過去,症狀緩慢的消退。晚上睡覺也較易入眠
- 第三天早上醒來有種豁然清醒的感覺,但若頭腦開始思考活動,仍然會有頭要燒起來的不適感,且打噴嚏後腦勺會有疼痛感,需要手抓著該部位打噴嚏才能降低打噴嚏的不適
- 第三天下午,症狀幾近消退,但身體各方面仍是大病初癒的狀況,尚需要較多的休息
- 第四天早上,只剩下手臂施打處疼痛感而已。此症床數天後即完全消退。
-
燈光閃爍
mmamammmmmammamamaaamammma
從雷神之鎚沿用至今的燈光閃爍程式碼😆
-
Aras Innovator – Custom Save As (Copy of) Method 實作另存新檔功能
透過建立 ItemType 的 Client Side Action,搭配 JavaScript Method 來實作另存新檔的功能。
- 以目標 ItemType 做為要複製的對象
- 更新ID和動作為[新增]
- 自訂想要複製的欄位
- 解鎖該項目
- 刷新主畫面
- 開啟編輯視窗
var innovator = this.getInnovator(); this.setNewID(); this.setAction("add"); this.setAttribute("isTemp", "1"); this.setProperty("state", ""); this.setProperty("item_number", "Copy of " + this.getProperty("item_number")); this.unlockItem(); main.work.searchContainer.runSearch(); top.aras.uiShowItemEx(this.node, "tab view", true, false); -
透過SFX(SelF-eXtracting)自解檔封裝程式及發佈到網路上的注意事項
SFX(SelF-eXtracting)自解檔
一般程式開發好後會透過工具建立.msi封裝檔,好進行接下來的安裝佈署動作 , 但可以透過常見的檔案壓縮工具建立.exe自解檔來達到相同的目的。此外,也可以透過此方式對既有軟體進行二次封裝,好將資源或參數檔案包在一起,方便軟體的部署。
常見的檔案壓縮工具及格式為Winzip(.zip), WinRAR(.rar), 7-Zip(.7z),而截至 2021/07/15 自已測試以上3家工具所建立的自解檔,在VirusTotal網站(https://www.virustotal.com)的病毒偵測狀況 。 Winzip最多、WinRAR次之但是卻會被 Microsoft 和 McAfee 便視為病毒、7-Zip搭配7z SFX Builder最少,故推薦使用 7-Zip搭配 7z SFX Builder 來建置SFX自解檔案。
網路發佈
若是要將自解檔放到網路上供人下載取用,由於瀏覽器以及電腦會去掃描檔案的安全性,並對於沒有簽署信任憑證的執行檔或是無法辨識檔案類型的檔案加以阻擋,且還會嘗試解壓縮壓縮檔來分析內容,故必須要透過壓縮兩次的方式來避開之。
