在Web網頁應用中,常常會使用到網址列利用GET指令來傳遞參數,比方像是:
http://grandruru.blogspot.tw/index.html?MyParam=HelloEden
接著便Response給伺服器一個參數為「MyParam」,值為「HelloEden」的內容。
在IntraWeb中,由於Web Application特性,我們不能直接呼叫其它的html為起始網頁(會被引導到首頁),但是,我們仍然可以使用參數,例如:
2016/06/28
2016/06/21
IntraWeb 學習日記:【Login】
之前有提過 IntraWeb 原始目標和ASP.NET 2.0 Web Form 一樣,都是拖拉元件的方式產生。
不過單獨介紹元件意義不大,直接看看可以做些什麼出來吧!
目前已知,要撐起一套 Win32 應用程式,大概需要以下幾個元素:
不過單獨介紹元件意義不大,直接看看可以做些什麼出來吧!
目前已知,要撐起一套 Win32 應用程式,大概需要以下幾個元素:
2016/06/14
堅持,就是在遇到錯的人還能勇往前行
![]() |
| 圖片來源 |
有一天晚上,在和孩子講著「父子與驢」的故事。
故事是這樣的:
父親打算到市集賣掉驢子,便帶著孩子一同前往市集,路上遇見三個對他們說三道四的鄉民:
「怎麼不騎驢?」、
「怎麼不讓孩子騎?」、
「怎麼這麼不孝順?」、
「為什麼虐待驢子!」,
每一次這對父子都對來者的「建議」照辦,最後這驢子就在市集前的橋上掉到水裡,父子窩囊地丟了面子,也失去了銀子。
相信這類的人你身邊很多,而這世上也的確不乏很多愛胡亂提供
2016/06/07
不是不努力,而是不專業
![]() |
| Photo from lime122 |
一連幾個晚上,都將冷氣開著除濕睡整晚,過了快一個星期後的某一日,如往常的回到家,撲鼻而來的不只是滿滿 Juice 的濕氣,連發霉味也更加地沉重!
不是每晚都開除濕了嗎?為什麼還會有發霉的味道跑出來!
這次決定不用冷氣的除濕功能,把那台迷你的小小除濕機給請了出來,開始工作不到半個小時,神奇的事發生了,不僅 Juice 感沒了,就連發霉感也湮消雲散了!
看著地上迷你除濕機,再看看牆上巨大的冷氣機,心中突然有感而發:
2016/05/31
Delphi ORM 產生器 1.0.0.0 已在 Windows Store 上架!
| Delphi 現在也可以做到 ORM 了! Photo source |
您還在跟單引號與括弧對打嗎?
您的Pas裡早已充斥著這樣的程式碼:
DataSet.FieldByName('fieldname').AsString
DataSet.FindField('fieldname').AsString
又臭又長又噁心,又常常寫出在執行時期跳出「數值轉換失敗」的程式碼,您的開發效率就這樣打了折扣嗎?
老闆付您薪水卻產出這樣品質低劣的程式碼,不管是老闆或是您,在內心一定是充滿著悔恨吧!
還好,這並不是您的錯,千錯萬錯都是 Delphi 沒有滿足您的願望惹的禍!
更幸運的是,您現在看到了這篇。
為了讓您薪水領得安心,在這個星期,集合了傳說中 Delphi 社群的力量,終於將【Delphi ORM 產生器】完成!
千呼萬喚始出來,【Delphi ORM 產生器】終於完成!
它結合了【TField】,【T*Field】,【Native Type】三種模式,絕對可以滿足您多樣化的開發方式,而且,保留了最貼近 Delphi 原生 TDataSet 的程式寫法,又可以解決在編譯時期找出【型別錯誤】的長期 Delphi 之痛。
【Delphi ORM 產生器】是彈性和實用兼具的好物,據統計,它至少可以節省 Delphi 開發人員 53% 以上的開發時間,更可以提高程式正確率 92% 以上!
更更更重要的,目前開放免費體驗中!
【Delphi ORM 產生器】終於完成!
2016/12/03 更新:
現在,Delphi ORM 產生器已在 Windows 商城上架!
軟體安全性更上一層樓,還沒體驗的 Delphier,趕快來體驗極速開發吧!
See also:
2016/05/24
IOUtils TDirectory.CreateDirectory 跳出 The drive cannot be found 錯誤
最近使用 IOUtils 單元的 TDirectory.CreateDirectory 來處理目錄建立的工作。
MSDN中說明這個函式的功能:
程式運作了好一陣子,都沒有出問題,一直到某天,客戶回傳了一個錯誤視窗:
於是,我又踏上抓鬼之路了。
雖然已知是「TDirectory.CreateDirectory」造成的錯誤,但為什麼客戶會出現但我這裡完全沒事呢?
後來才知道,原來客戶的環境是以虛擬機器運作,以 UNC 路徑執行所有程式,看來就是 UNC 路徑搞的鬼。
What is "UNC"?就是像「\\ComputerName\DirectoryName」這樣的網路路徑。
總之,Bug找到了!讓我們來看看「它」長什麼樣子吧!
咳!………還是回到正題!
仔細研究原始碼,才發現在 IOUtils.pas 單元的函式出錯:
出錯的程式碼為:
因為沒有針對 UNC 路徑多做判斷,所以一定會跑「The drive cannot be found」錯誤。
找到了Bug,但要如何解決呢?很簡單,將出錯的那一列置換如下:
如此便修正了這個問題,但最好是將底下路徑的IOUtils.dcu一併置換:
$(BDS)\lib\win32\debug
$(BDS)\lib\win32\release
$(BDS)\source\rtl\common
或是把 IOUtils.pas 複製到自己的專案進行修改後使用。
最後,這個Bug在XE3之後已被修正。
See also:
MSDN中說明這個函式的功能:
按照 path 所指定的來建立所有目錄和子目錄。所以DirectoryExists這類的工作都可以拿掉了,是個很方便的功能。
備註
會建立 path 中指定的任何和所有目錄,除非它們已經存在,或 path 的某些部分是無效的。path 參數指定的是目錄路徑,而不是檔案路徑。如果目錄已經存在,這個方法不執行任何動作。
程式運作了好一陣子,都沒有出問題,一直到某天,客戶回傳了一個錯誤視窗:
於是,我又踏上抓鬼之路了。
![]() |
雖然已知是「TDirectory.CreateDirectory」造成的錯誤,但為什麼客戶會出現但我這裡完全沒事呢?
後來才知道,原來客戶的環境是以虛擬機器運作,以 UNC 路徑執行所有程式,看來就是 UNC 路徑搞的鬼。
What is "UNC"?就是像「\\ComputerName\DirectoryName」這樣的網路路徑。
總之,Bug找到了!讓我們來看看「它」長什麼樣子吧!
![]() |
| Bug 示意圖......... 圖片來源 |
咳!………還是回到正題!
仔細研究原始碼,才發現在 IOUtils.pas 單元的函式出錯:
class procedure TDirectory.CheckCreateDirectoryParameters(const Path: string);
出錯的程式碼為:
if not TPath.DriveExists(TPath.DoGetPathRoot(Path)) then
因為沒有針對 UNC 路徑多做判斷,所以一定會跑「The drive cannot be found」錯誤。
找到了Bug,但要如何解決呢?很簡單,將出錯的那一列置換如下:
if TPath.IsDriveRooted(Path) and not TPath.DriveExists(TPath.DoGetPathRoot(Path)) then
如此便修正了這個問題,但最好是將底下路徑的IOUtils.dcu一併置換:
$(BDS)\lib\win32\debug
$(BDS)\lib\win32\release
$(BDS)\source\rtl\common
或是把 IOUtils.pas 複製到自己的專案進行修改後使用。
最後,這個Bug在XE3之後已被修正。
See also:
2016/05/17
Delphi 加密解密(含數位簽章)的解決方案 -- 【初探篇】
![]() |
| 嗯,今天不討論破解病毒的問題 |
一直以來,總是覺得自家系統的加密法很陽春,容易被破解,最近看到可怕的【 加密勒索病毒】,發現居然用到 RSA 4096 加密等級,凡是中招者,只能選擇「付贖金」或是「銷毀」這兩個選項。
看來這 RSA 加密真是個很可靠的東西,如果可以應用在自家的產品上……
訂閱:
文章 (Atom)






