線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1501
推到 Plurk!
推到 Facebook!

Acroprise的ViewManager试用

 
mustapha.wang
資深會員


發表:89
回覆:409
積分:274
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-28 18:51:45 IP:218.80.xxx.xxx 未訂閱
最小精简了Acroprise的Client端脚本开发工具ViewManager3。 限于大小,没有包入权限等企业元件,也没有包入delphi的bpl,需要有delphi7+update1的vcl70.bpl等文件。 脚本语言如Python、Perl等在国外发展很好,到底好处在哪里,什么情况下可以考虑选择呢? ViewManager在IDE上作得比较好,几乎在delphi里能用的元件编辑器、属性编辑器都能用,devexpress的dx、cx系列元件都可以安装并正常使用。 语法上嘛,当然没有delphi强了。    大家来评估一下,看看有啥优点和缺点。     VM里有几个地方可以加载Package,功能各不相同: 1.菜单Component->Package/ActiveX Component 此处为设计期包安装元件用,载入bpl后,会在Package包含的每个pas中寻找Register函数,如果找到就调用它。 2.菜单Tools->CodeCenter Option->Imported Package 以Package方式引入RTTI资料,供直译器查找使用,每个*_D7.pas的initialization部分会注册对应的*.pas的资料。 一般文件为*_imp.bpl,如vcl70_imp.bpl 3.菜单Tools->CodeCenter Option->Business Package 安装企业应用需要的Package,如公用元件Package,应用插件等。 久病成良医--多试 千人之诺诺,不如一士之谔谔--兼听 發表人 - mustapha.wang 於 2005/03/28 21:06:11
------
江上何人初见月,江月何年初照人
附加檔案:67938_output.rar
haitao
一般會員


發表:0
回覆:1
積分:0
註冊:2005-05-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-19 23:26:51 IP:219.133.xxx.xxx 未訂閱
我是想做成一个应用容器: 应用容器(一个普通的Delphi做的Application)动态加载外部的.DFM/.PAS文件或http流,并把pas里的事件实现代码和dfm里的控件的事件对应起来, 这样,容器不但可以show出Form,还完全实现原来的响应事件 现在最大的难题都解决了,有一个简单的demo可以使用了 作这个应用容器主要是受notes的“刺激”,它的思路很好,只是界面和脚本语言均不堪忍受 在b/s满天飞的时候,我还是喜欢用delphi作client: 现在有了脚本支持,就可以更上一层楼了,可以真的与notes完全一样了! 而且,设计界面、编写、调试、维护“脚本”,都可以直接借助于最可视化的Delphi!! 只是为了导入delphi中的一个类(使得脚本也能识别、运行这个类),需要不少代码,干脆写了一个代码生成工具: 它的存储内容为:(这是导入TCheckListBox的例子) {Class2PS ClassName=TCheckListBox SubClassCount=1 SubClass0=TCustomListBox FieldCount=8 1.0=AllowGrayed 1.1=Boolean 1.2= 1.3= 1.4=rw 2.0=Checked 2.1=Boolean 2.2=Integer 2.3= 2.4=rw 3.0=Flat 3.1=Boolean 3.2= 3.3= 3.4=rw 4.0=ItemEnabled 4.1=Boolean 4.2=Integer 4.3= 4.4=rw 5.0=Header 5.1=Boolean 5.2=Integer 5.3= 5.4=rw 6.0=HeaderBackgroundColor 6.1=TColor 6.2= 6.3= 6.4=rw 7.0=HeaderColor 7.1=TColor 7.2= 7.3= 7.4=rw 8.0=State 8.1=TCheckBoxState 8.2=Integer 8.3= 8.4=rw Class2PS} 它生成的代码为: Procedure TCheckListBox_AllowGrayed_R(Self: TCheckListBox; Var T: Boolean); Begin T := Self.AllowGrayed; End; Procedure TCheckListBox_AllowGrayed_W(Self: TCheckListBox; T: Boolean); Begin Self.AllowGrayed := T; End; Procedure TCheckListBox_Checked_R(Self: TCheckListBox; Var T: Boolean; t1:Integer); Begin T := Self.Checked[t1]; End; Procedure TCheckListBox_Checked_W(Self: TCheckListBox; T: Boolean; t1:Integer); Begin Self.Checked[t1] := T; End; Procedure TCheckListBox_Flat_R(Self: TCheckListBox; Var T: Boolean); Begin T := Self.Flat; End; Procedure TCheckListBox_Flat_W(Self: TCheckListBox; T: Boolean); Begin Self.Flat := T; End; Procedure TCheckListBox_ItemEnabled_R(Self: TCheckListBox; Var T: Boolean; t1:Integer); Begin T := Self.ItemEnabled[t1]; End; Procedure TCheckListBox_ItemEnabled_W(Self: TCheckListBox; T: Boolean; t1:Integer); Begin Self.ItemEnabled[t1] := T; End; Procedure TCheckListBox_Header_R(Self: TCheckListBox; Var T: Boolean; t1:Integer); Begin T := Self.Header[t1]; End; Procedure TCheckListBox_Header_W(Self: TCheckListBox; T: Boolean; t1:Integer); Begin Self.Header[t1] := T; End; Procedure TCheckListBox_HeaderBackgroundColor_R(Self: TCheckListBox; Var T: TColor); Begin T := Self.HeaderBackgroundColor; End; Procedure TCheckListBox_HeaderBackgroundColor_W(Self: TCheckListBox; T: TColor); Begin Self.HeaderBackgroundColor := T; End; Procedure TCheckListBox_HeaderColor_R(Self: TCheckListBox; Var T: TColor); Begin T := Self.HeaderColor; End; Procedure TCheckListBox_HeaderColor_W(Self: TCheckListBox; T: TColor); Begin Self.HeaderColor := T; End; Procedure TCheckListBox_State_R(Self: TCheckListBox; Var T: TCheckBoxState; t1:Integer); Begin T := Self.State[t1]; End; Procedure TCheckListBox_State_W(Self: TCheckListBox; T: TCheckBoxState; t1:Integer); Begin Self.State[t1] := T; End; //For Exec:TCheckListBox Procedure RIRegister_TCheckListBox(Cl: TPSRuntimeClassImporter); Begin Cl.Add(TCustomListBox); With Cl.Add(TCheckListBox) Do Begin RegisterPropertyHelper(@TCheckListBox_AllowGrayed_R, @TCheckListBox_AllowGrayed_W, 'AllowGrayed'); RegisterPropertyHelper(@TCheckListBox_Checked_R, @TCheckListBox_Checked_W, 'Checked'); RegisterPropertyHelper(@TCheckListBox_Flat_R, @TCheckListBox_Flat_W, 'Flat'); RegisterPropertyHelper(@TCheckListBox_ItemEnabled_R, @TCheckListBox_ItemEnabled_W, 'ItemEnabled'); RegisterPropertyHelper(@TCheckListBox_Header_R, @TCheckListBox_Header_W, 'Header'); RegisterPropertyHelper(@TCheckListBox_HeaderBackgroundColor_R, @TCheckListBox_HeaderBackgroundColor_W, 'HeaderBackgroundColor'); RegisterPropertyHelper(@TCheckListBox_HeaderColor_R, @TCheckListBox_HeaderColor_W, 'HeaderColor'); RegisterPropertyHelper(@TCheckListBox_State_R, @TCheckListBox_State_W, 'State'); End; End; //For Compile:TCheckListBox Procedure SIRegister_TCheckListBox(Cl: TPSPascalCompiler); Begin With Cl.AddClassN(cl.FindClass('TCustomListBox'),'TCheckListBox') Do Begin RegisterProperty('AllowGrayed', 'Boolean', iptrw); RegisterProperty('Checked', 'Boolean Integer', iptrw); RegisterProperty('Flat', 'Boolean', iptrw); RegisterProperty('ItemEnabled', 'Boolean Integer', iptrw); RegisterProperty('Header', 'Boolean Integer', iptrw); RegisterProperty('HeaderBackgroundColor', 'TColor', iptrw); RegisterProperty('HeaderColor', 'TColor', iptrw); RegisterProperty('State', 'TCheckBoxState Integer', iptrw); End; End;
系統時間:2024-03-29 19:26:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!