?? websnap.txt
字號:
上面的兩種方法都可以使用,但一定要加入SessionService物件。
※ 引述《willard》於 01/05/2002 07:06:28 發表之銘言:
>在WebSnap中由Acction 的PageName 連到的網頁通常都在同一個Browser中
>如何可以產生一個新的瀏覽器視窗呢?
>
>Edited by - willard on 01/08/2002 14:19:15
忙了好幾天,一直沒時間將這個元件由整組元件中拆出來,
先試試這個以AdapterField 實作的版本吧.
http://home.pchome.com.tw/guide/code6421/WebSnapNewWin.ZIP
(內含元件及範例程式,請先安裝元件後再使用範例程式)
※ 引述《unite》於 12/26/2001 09:59:58 發表之銘言:
>※ 引述《Gabriel》於 12/25/2001 23:56:18 發表之銘言:
>>我在Websnap中使用DataSetAdapter連接DataModule中的ADOxxx元件,每次使用
>>ADO元件,設計時期就會看到資料指向第一筆,還會顯示出來(?),在執行時期也
>>一樣,不管在ADOxxx或DatasetAdapter指定Cursor都一樣,唯一有效的是在後者的
>>OnPrepareDataSet事件可以控制。在輸入資料的時候,雖然是正確的,但會先看到
>>第一筆看的,不是很好;而刪除資料居然從第一筆刪?
>>
>>各位有什麼方法,可以在執行動作之前,先將Cursor移到「正確」的位置?
>>Tks.
>你指的正確位置是什麼?
>由於Web的無狀態特性,你需要一個包含正確位置資料的Request,然後可以在WebModule中的Active事件裏根據些Request對DateModule中的DataSet進行定位。
>使用AdaptGrid <-> AdaptFieldGroup很方便的進行單表操作。
我在Websnap裡以ADO連結資料庫,在處理 Master/Detail 時同樣發生執行First,Prev,Next,Last.. 等Action時, Master 資料表指標均未改變一直指到第一筆,且Detail 資料表亦一直對應到 Master 資料表之第一筆資料,是否亦是相同原因,如何讓資料表只到正確位置? Tks.
若改以 BDE 連結資料庫狀況亦同,然若是Mastert Table 採分頁方式顯示時,若
執行改變頁次之Action則同頁次下之Detail Table亦會顯示為相對應頁次第一筆資料之對應資料,不知要再如何處理,有哪為先進能協助解決如何才可使網頁顯示正確的 Master/Detail 關係 ? 謝謝 !
Edited by - Davi on 01/14/2002 08:58:35
※ 引述《unite》於 01/09/2002 09:02:07 發表之銘言:
>將寫好的WebSnap程式(.DLL)不能使用,出現如下提示:
>Internal Application Error
>Object factory for class TWebResponseWrapper missing
>請問是什麼原因?如何解決?
See Deploy.txt.
※ 引述《Davi》於 01/15/2002 13:46:06 發表之銘言:
>請問 WEBSNAP 程式中,在 html 中可以 script 取得各網頁之 page name ,但在 Delphi 程式中如何取得呢 ? 謝謝 !
其中一個解法(svModuleList 是一個TStringsValuesList):
uses WebCntxt;
.....
var
I:Integer;
begin
svModuleList.Strings.Clear;
for I:=0 to WebContext.PageCount-1 do
svModuleList.Strings.Add(WebContext.Pages[I].PageName+'='+WebContext.Pages[I].PageHREF);
※ 引述《davidTim》於 09/10/2001 17:14:46 發表之銘言:
>請問CODE6421,我在做WEBNAP 時,我想檢驗webClient用戶輸入的值是否正確?
>我有什么辦法呢?(ValidateValue)Or(beforeValidateFields),有點像
>loginform,沒有值或者值不對,都讓給webClient用戶知道?
如果你使用的Adapter 是TAdapter or TPagedAdapter時,
ValidateValue event 會在你呼叫Adapter.UpdateRecords 時觸發,
你可以在這裡驗證資料的正確性,你可以修改計算機中的Calc Action 的
OnExecute Event:
procedure TCalc.AdaptCalcExecute(Sender: TObject; Params: TStrings);
var
v1,v2:Integer;
begin
Adapter1.UpdateRecords((WebContext.AdapterRequest as IActionRequest));
if Adapter1.Errors.ErrorCount = 0 then
begin
v1:=AdaptFirstValue.ActionValue.Values[0];
v2:=AdaptSecondValue.ActionValue.Values[0];
FResultValue:=IntToStr(v1+v2);
end;
end;
接著在FirstValue 的OnValidateValue event:
procedure TCalc.AdaptFirstValueValidateValue(Sender: TObject;
AValue: IActionFieldValue; var Handled: Boolean);
var
I:Integer;
begin
try
I:=AValue.Values[0];
except
raise Exception.Create('Error! FirstValue Field can''t empty! ');
end;
end;
最後你在計算機的AdapterForm1 中加入一個 AdapterErrorList 元件,
接著將她的Adapter特性值設為Adapter1,
這樣就完成了Server-Side 驗證了.
除了手動更改JScript 之外,我們也可以在WebSnap 程式中以撰寫元件
的方式加入Client-Side 驗證,不過這是Inside WebSnap 的課題了 :)
※ 引述《BrianChang》於 09/10/2001 19:54:23 發表之銘言:
>假如DBExpress的部份能交代清楚就不錯了,希望能看到如何寫DBExpress Driver的文章!
TOrpEditablePagedAdapter 原始碼!
http://home.pchome.com.tw/guide/code6421/OrpAdapter.zip
需要的人請儘速下載!
Inside WebSnap 已經決定不公佈了,相信會有人寫的比我好!
另所有文章已刪除,請勿再浪費時間連結.
簡單一句話,code6421 跟大家說拜拜了,很高興認識你們這些朋友 :)
(別浪費時間寫信給我,信箱我已不再收信!)
WebSnap 範例程式(2)
http://home.pchome.com.tw/guide/code6421/Exam_2.zip
安裝注意事項
1.請先安裝ImgBtnProducer (Demos/WebSnap/ImgBtnProducer)
2.請設定WebAppDebuger | Options 中的path,將/Exam_2/Images 加入
3.請將BCDEMOS/country.db Fields 中
Field:Capital = Washington 的Field:Name 設為USA
相關技術
1.use ErrorList
2.use ImgBtnProducer
3.use Transaction
4.use Custom property
5.Include file
6.use Layout
7.Post-Back and Lookup Field
8.open a New Window
這原本是Inside WebSnap 的第一節,現在沒用了,需要的人請儘速下載!
※ 引述《wls》於 11/18/2001 00:08:44 發表之銘言:
>看完 code6421 的大作後.
>想請教 code6421 兄 WebSnap 和從前的 WebBroker 的關係是... ? or 它們的差別是 ?
在拙作中的前言有大略的說明 :)
更詳細的說明得等第二篇了.
>又什麼時候我才應該要利用 ASP,什麼時候用 WebSnap 來實作我的程式碼???
ASP 能做到的功能,WebSnap 都能做到,甚至更好,更簡單,
習慣了WebSnap 的開發方式後,你就不再需要ASP 了.
>如果我現在要在 Delphi 開發一個 Web CGI 程式,我應該使用 WebSnap 而不要再使用WebBroker 嗎???
就我而言,我較喜歡使用WebSnap 來開發,她可以讓我以
較輕鬆,快速的方式得到我想要的功能,當然!
我們得先習慣她的開發方式.
繼DELPHI 6 之後,Borland 推出了Kylix 2,裡面也有WebSnap,
我安裝了Trial 後稍微玩了一下,蠻不錯的,看來日後我可以
用她來開發Linux 上的網頁程式了.
※ 引述《Davi》於 11/20/2001 16:00:06 發表之銘言:
>看完 code6421 的大作後.請問依照其範例操作有幾個問題請教 :
>1. 以 Application.Today.Value 顯示今天日期,為何在 Web App Debugger 顯示
>Error[0]: 'Application.TODAY.Value' 不是一個物件
請查看你的ApplicationAdapter 元件中
AdapterField 中的FieldName 是否為 Today .
>2. 以 Web App Debugger 測試 ActionFieldTest 例子能正常顯示,但將其 ISAPI 相關檔案轉至 WEB 目錄, 呼叫 ActionFieldISAPI.dll 時正常,然按 Items Table 後卻顯示
>Internal Application Error
>An error occurred while attempting to initialize the Borland Database Engine (error $2501)
這是BDE 初始化的問題,偶而會發生,建議關閉DELPHI,並重新啟動IIS
服務,應可改善此問題.
PS:使用ADO or dbExpress 可避免此類問題的發生.
>>請問依照其範例操作,當執行PreView 功能時,網頁只出現
>
>Welcome
>Logout-->Login
>
>並出現錯誤訊息
>
>[Error] HomeU.html(1): Object factory for class TWebResponseWrapper missing
>是那裡沒設定好?? 謝謝
看起來似乎是你的DELPHI6 安裝出了問題,試試重裝一次.
謝謝code6421...經重新安裝 Delphi 6後已可執行PreView 功能
但是執行 Web App Debugger 時,點選
Default URL http://localhost:1024/ServerInfo.ServerInfo時
確始終無法開啟網頁,不知是甚原因,請教各位.....
我的版本是 version 6.0[Build 6.190] Update Pack 1
作業系統是Win 98 謝謝
※ 引述《premio》於 11/23/2001 13:59:02 發表之銘言:
>>
>>Welcome
>>Logout-->Login
>>
>>並出現錯誤訊息
>>
>>[Error] HomeU.html(1): Object factory for class TWebResponseWrapper missing
>>是那裡沒設定好?? 謝謝
>
>看起來似乎是你的DELPHI6 安裝出了問題,試試重裝一次.
>
>謝謝code6421...經重新安裝 Delphi 6後已可執行PreView 功能
>但是執行 Web App Debugger 時,點選
>Default URL http://localhost:1024/ServerInfo.ServerInfo時
>確始終無法開啟網頁,不知是甚原因,請教各位.....
>我的版本是 version 6.0[Build 6.190] Update Pack 1
>作業系統是Win 98 謝謝
這是WebAppDebugger 的Bug,使用IE 輸入http://localhost:1024 就可以了.
--
just coding....
>感謝 code6421 的回覆.依照建議關閉DELPHI,並重新啟動IIS 服務,以 Web App Debugger 無法啟動 Borland Database Engine 之問題以解決,唯以下之問題仍然存在, 確定ApplicationAdapter 元件中AdapterField 中的FieldName 已設為 TODAY 且相對之程式碼亦如同您之範例加入,不知還有那裡沒設定好?? 謝謝
>1. 以 Application.Today.Value 顯示今天日期,為何在 Web App Debugger 顯示
>Error[0]: 'Application.TODAY.Value' 不是一個物件
※ 引述《Davi》於 11/23/2001 14:56:55 發表之銘言:
>>感謝 code6421 的回覆.依照建議關閉DELPHI,並重新啟動IIS 服務,以 Web App Debugger 無法啟動 Borland Database Engine 之問題以解決,唯以下之問題仍然存在, 確定ApplicationAdapter 元件中AdapterField 中的FieldName 已設為 TODAY 且相對之程式碼亦如同您之範例加入,不知還有那裡沒設定好?? 謝謝
>
>>1. 以 Application.Today.Value 顯示今天日期,為何在 Web App Debugger 顯示
>>Error[0]: 'Application.TODAY.Value' 不是一個物件
在IDE 中切換到 Preview 會出現這個錯誤嗎?
--------------------------------------------------------------------------------
※ 引述《cubi》於 11/23/2001 15:12:06 發表之銘言:
>請教前輩
>為何在執行Web App Debugger後會,在IE上會出現
>
>Internal Server Error
>HTTP status code: 500
>HTTP error message: 類別未登錄
>NT+IIS
>
>謝謝
試試重新Compiler DELPHI6/Source/Internet/ServerInfo.dpr
完成後複製到DELPHI6/Bin 下,執行她一次,再試試.
I re-compiled project "serverinfo", and replaced the old serverinfo.exe, and then run serverinfo.exe . However, when I visit port 1024, it still shows the same error message. What can I do?
Could you please help me?
--------------------------------------------------------------------------------
ApplicationAdapter 元件中AdapterField 中的FieldName 已設為 TODAY 且相對之程式碼亦如同您之範例加入,不知還有那裡沒設定好?? 謝謝!
以 Application.Today.Value 顯示今天日期,為何在 Web App Debugger 顯示
Error[0]: 'Application.TODAY.Value' 不是一個物件
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -