2019/07/18

ADO in Web application for Delphi


主題雖然說是 ADO,其實泛指利用操作COM*的資料庫 Driver 皆適用,例如:使用到 OleDB / SQL Native Client 的 dbExpress、Devart DAC、FireDAC 元件等。

*元件物件模型英語:Component Object Model,縮寫COM

Delphi 在 Web Application 開發會使用到 Thread,所以使用 COM 技術時,必須要使用 CoInitialize / CoUninitialize 來避免存取錯誤。

使用時機通常是伴隨著 Method 開始和結束,例如:

procedure Method;
begin
  CoInitialize(nil);
  ...
  CoUninitialize;
end;

每一個 Method 要設定也太累人,總是想找個簡易的作法,運氣不錯,一找就看到有意思的作法,高手連結在此

WebModule的【BeforeDispatch】和【AfterDispatch】事件主要控制 Method (Action) 的起始和結束,所以我們可以分別加入 CoInitialize 和 CoUnitialize,如此一來便可以少寫很多的程式碼。

文中的 CGI 模式也可以套用到 Windows Service 專案中,真是長知識了!


See also:

2019/06/26

Delphi ICS 在 WinXP 下的使用

ICS 全名為【Internet Component Suite】,和 Indy 齊名的網路元件組之一。

最近證交所網站開始轉用 TLS 1.2,這意味著加密等級上限是 TLS 1.1 的 WinXP / Win2003 系統已經無法再用 IE 取得資料,Indy 同時也受限於此,然而因為這個原因全面將公司內所有系統升級是不切實際的。(升級,公司會倒)

那怎麼辦?

雖然 IE 不能連結證交所,但 Firefox 可以,既然 Firefox 可以,那麼就一定有可以連線的方式。

有想法就開始吧,立馬下載 ICS 來使用。結果:


































hmm... 出錯了

找不到【bcrypt.dll】,這個檔案是新版 OpenSSL 呼叫 CryptoAPI 裡的 BCryptGenRandom 函式時所必須使用的檔案,而該檔案到了 Vista 才開始提供,因為系統版本不符,所以【把 bcrypt.dll 檔案移殖到 WinXP】這個邪惡的念頭只能放棄不予採用。

新版 OpenSSL 的版號呢?

ICS v8.58 附帶的 OpenSSL 是 1.1.1.0,而上個版次的 ICS v8.44 附帶的 OpenSSL 則是 1.1.0.5。


至於替換的結果,就請想試的紳士們體驗一下囉!


See also:

2019/06/19

React 綜合應用 (2):載入 JavaScript library



React 核心觀念就是物件導向,可是在實務上並不能排除需要 3rd party 的 JavaScript library / framework 的場合,本次使用到的即是 JavaScript DataSnap framework。

2019/06/13

React 綜合應用 (1):登入頁面

要來驗收學習成果,但有個範例試作總是讓人安心,從 Login 開始進入好像是不錯的開始。

參考國外部落格教學後,發現是個很好學習的小型案例,就決定動手模仿開始:

首先使用 Create-React-App 進行專案建立。

安裝:
React Router
React Bootstrap
React icons
Styled-Components


Login 元件程式碼:

2019/06/11

Delphi 操作 AD / LDAP 的相關資源



以往登入介面會想使用在資料庫建立使用者清單,但老是會被提到不要讓使用者多記一組密碼。

而大多數的企業內都是使用 Active Directory 管理登入,能夠使用 AD 驗證登入資訊當然是最佳解。

Google 搜尋後驚覺有提到 AD 的都是 C# 內容,Delphi 相關的很少很少。

不過呢,在有限的資料中卻發現:Delphi 和 Active Directory (AD / LDAP) 也蠻合的,而且 ADOQuery 居然還能查 AD 資料,ADO 也太威能了吧!



See also :


2019/06/06

React Router 和 Bootstrap 整合


React基礎看了一陣子,總算是看到 Router 章節,突然豁然開朗。

React 屬於 View Library 的一種,對我來說,直接從 Router 看回去反而更容易理解 React 是想要做到什麼樣的設計思路。

看直播主 Step by step 玩出一個版面,一邊學習一邊做,可以理解設計者到底是怎麼想的,很謝謝這位直播主的解說。


See also:

2019/05/30

REACT Plugin list in Visual Studio Code

編寫 REACT 的過程中,記錄一下目前用到的 Plugin,就算未來重裝系統也不用煩腦當初到底用過哪些。

首先是列出清單的指令:
code --list-extensions | xargs -L 1 echo code --install-extension
接著會回傳包含安裝指令的 Plugin 清單:

code --install-extension burkeholland.simple-react-snippets
code --install-extension esbenp.prettier-vscode
code --install-extension mgmcdermott.vscode-language-babel
code --install-extension MS-CEINTL.vscode-language-pack-zh-hant
code --install-extension teabyii.ayu

See also:



ebook【Delphi跨平台資料庫程式設計火速上手】電子書出版 (CHT)

Delphi 跨平台資料庫程式設計火速上手,是本關於整合 Delphi 的跨平台技術打造 2-Tier 架構的跨平台 APP 的入門技術書。 全書沒有需要理解的技術知識,只講套路。 力求短時間把製作 APP 的工法熟悉,未來要開發其它的應用程式也能舉一反三。 底下...