HTML App Develop Framework 套件 Delphi7 先行版 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
To all Delphi Users:
這是小弟委託G01大大授權予以修改後進行發佈的D7第一個版本先行版, 給想要以最簡單的方式開發Web應用程式的各位嘗鮮並提供意見; 這個版本支援三種資料傳輸的做法--->1.Form Tag Post 2.FrameWork Define Post 以及 3.Ajax Post 先將元件分享給大家,小弟後面會再補上一些簡易的Demo 對了!! 這個套件可以開發給android手機的瀏覽器來使用 編輯記錄
JL9168 重新編輯於 2011-12-19 19:52:58, 註解 無‧
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
以下為開發此類應用程式的樣板架構
Library Example; uses Classes, Windows, SysUtils, Dialogs, Forms, ISAPI, UAdv_ISAPI_Utils; //ISAPI Main procedures !! //參數與物件初始化的Function procedure WebInitProc(Session:TAdv_WebSession;InInitParams:string;DynamicOwner:TComponent); begin with Session do begin ///RegisterWebPage(); end;//with...end!! end; //釋放參數與物件的Function procedure WebReleaseProc(Session:TAdv_WebSession); begin with Session do begin end;//with...end!! end; //回應並處理Ajax事件的Function procedure AjaxEventProc(Session:TAdv_WebSession); begin end; //Web應用程式的主程式 procedure WebAppMain(Session:TAdv_WebSession;Request:TPub_Request;Response:TPub_Response); var TempStr:string; Label TheEnd; begin if(Request.EventPage = '')then begin //Response.Write('Hello World !! '); end//if...end!! else begin if(Request.EventSenderDesc = '回首頁')then begin ///Response.Write(fWebMain.Main_Page.CtrlToHtml); end//if...end!! else begin end;//else...end!! //-------------------------------------------------------------- TheEnd: TempStr := ''; //-------------------------------------------------------------- end;//else...end!! end; function HttpExtensionProc(var ECB:TEXTENSION_CONTROL_BLOCK):DWORD; stdcall; begin result := DoHttpExtensionProc( Application,'EMPTY-PARAMS' ,WebAppMain,WebInitProc,WebReleaseProc,AjaxEventProc ,ECB); end; Exports HttpExtensionProc; //==== DLL Main Procedure ==== begin //--------------------------------------------------------------- //fMain := TfMain.Create(Application); //--------------------------------------------------------------- end.
編輯記錄
JL9168 重新編輯於 2011-12-19 02:26:27, 註解 無‧
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
WebAppMain () 決定整個網站的主要網頁流程(如果要以Ajax來執行這樣的工作也可以在AjaxEventProc中完成)
因為是以類似觸發事件(Event)的方式來判斷處理,所以在主程式中就會依照"Request.EventSenderDesc"的 描述分別來處理或傳送不同的結果網頁。 而function HttpExtensionProc則是ISAPI應用程式與這個Framework的連接點!! 所以,以下這段程式碼就是整個程式的核心: result := DoHttpExtensionProc( Application,'EMPTY-PARAMS' ,WebAppMain,WebInitProc,WebReleaseProc,AjaxEventProc ,ECB);
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
BCB5的先行版也是呼之欲出了,先給大家看一下BCB5版的主程式架構大概如下
//--------------------------------------------------------------------------- #include #include #include #include "UfMain.h" #include "UfTest.h" #include "UfImg.h" #pragma hdrstop USEFORM("UfMain.cpp", fMain); USEFORM("UfTest.cpp", fTest); USEFORM("UfImg.cpp", fImg); //--------------------------------------------------------------------------- #define Application Forms::Application //--------------------------------------------------------------------------- int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*) { try { fMain = new TfMain(Application); fTest = new TfTest(Application); fImg = new TfImg(Application); } catch (Exception &exception) { } return 1; } //------------------------------------------------------------------------------- //網頁主程式 void _fastcall WebAppMain( TAdv_WebSession* Session, TPub_Request* Request ,TPub_Response* Response) { if(Request->EventPage == "") { Response->Write(fMain->MainPage->CtrlToHtml("") ); } else { if(Request->EventSenderDesc=="回首頁" ) Response->Write(fMain->MainPage->CtrlToHtml("") ); if(Request->EventSenderDesc=="To TestPage" ) Response->Write(fTest->Adv_HTML_Page1->CtrlToHtml("")); if(Request->EventSenderDesc=="ToImgPage" ) Response->Write(fImg->ImgPage->CtrlToHtml("")); } } //------------------------------------------------------------------------------- extern "C" { int __export WINAPI HttpExtensionProc(Isapi2::TEXTENSION_CONTROL_BLOCK &ECB) { pub_App=Application; pub_InitParamStr = "EMPTY-PARAMS"; pub_WebMainProc = WebAppMain; pub_InitialProc = NULL; pub_ReleaseProc = NULL; pub_AjaxEventProc = NULL; return Uadv_isapi_utils::HttpExtensionProc(ECB); } } //---------------------------------------------------------------------------
編輯記錄
JL9168 重新編輯於 2011-12-22 00:34:55, 註解 無‧
|
herbert2
尊榮會員 發表:58 回覆:640 積分:894 註冊:2004-04-16 發送簡訊給我 |
|
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
|
ANDY8C
資深會員 發表:114 回覆:582 積分:299 註冊:2006-10-29 發送簡訊給我 |
|
herbert2
尊榮會員 發表:58 回覆:640 積分:894 註冊:2004-04-16 發送簡訊給我 |
|
JL9168
中階會員 發表:133 回覆:223 積分:76 註冊:2011-09-29 發送簡訊給我 |
To Andy8C:
這是長期研究KbmWABD這個套件的G01大大的的結晶,他寫HTMLFramework已經是第三 個版次了,在這個期間出現了Ajax、jQuery...等等的技術應用......他說他也覺得追的蠻辛苦的 ...... 後來又出現了Ext JS,所以不排除引入Ext JS的新技術目標是希望讓Delphi也能毫無痛苦地 延伸觸角到Web的開發,其實小弟的意思是將來會分階段開發,目前的先行版1.0是支援到 以Ajax技術;1.0之後的版本會希望將Ext JS作為主要標準(不過Ext JS要錢的.....所以.....)。 先行版的核心就已經把client端的管理列入標準了,在不需要額外寫程式碼的狀況下就可以 管控Client端的資訊,舉凡登入資訊頁面追蹤,特定IP位址的頁面資料傳送;甚至於是 ISAPI的Redirect機制等等 ......(這些都不需要"小餅乾"-->Cookies 喔!! ) 目前聽說有在研究是否可以做Report做到像 quickreport 一樣....不過小弟覺得不太可能.... G01大大說很希望看到一個既能得到Windows32的好處,又能符合Web App標準的東西出 現..... 另外,先行版的釋放只是給大家試用,如果有想法或是問題我們會在正式(完整)版予以改 進,目前的後續發展由小弟負責;如果有意見可以發簡訊給我!! PS. 需要第一版BCB5先行版的朋友請留簡訊給我!! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |