文章来自:iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 (ithome.com.tw)
GDC基本的概念与操作
【原文为繁体】Genero FGL中若用到了交谈指令,则必须要有一个客户端来进行画面的处理与呈现。最简单常用的工具就是 GDC(Genero Desktop Client)。怎么把 GDC 玩得好,玩的巧,会比较重要。
版本与安装
这个段落系以鼎新 TIPTOPGP/T100 系列ERP运用的方案为主
GDC主要必须搭配FGL套件的主版本,所以若您的 FGL 套件为2.2系列的,下载3.2X GDC是无法连结的。查看FGL版本可使用『FGLRUN -V』指令,以下列出系列现行最后更新版号,若非为最后版本,可考虑更新。
- Genero 2.2系列 最终版本 2.20.06
- Genero 2.3系列 最终版本 2.32.44
- Genero 2.4系列 最终版本 2.41.10
- Genero 2.5系列 最终版本 2.50.39
- Genero 3.2系列 最终版本 3.20.18 (此版持续更新中)
安装设定
GDC 从 3.X 系列起,安装过程中除路径与授权询问外,最重要的是询问是否授予安装路径的写入权,这是为了符合OS层的规范而设计的,勾选后未来才可让 autoupdate 生效,未勾选时后续仍可启动,但会无法完成 autoupdate (需要手工另外压权限)
安装完成后,建议在 Windows端给予『系统管理者』身分执行作业
系统管理者与前一个『授予写入权』是不同的事情,所以两者不可只挑其一。系统管理者是在运行过程中,若使用新PORT建立联机时不会遭到异常终止,故建议启用
此外我们可对执行参数进行一些修改后在作启动GDC
快捷方式的执行目标 “gdc.exe” -aD -A 0
参数说明
- -aD 开启 a: admin D:Debug 模式,可展开 admin 设定页签与 Debug 操作页签
- -A 0 调降安全管理权限。调整为 0 表示允许来自非本身的启动需求,此处不调整时,预设为 2 ,表示必须透过 GDC 本身的 shortcut 快捷方式系统登入服务器(server)再回来的才视为安全可联机。 )
T系列会由server端进行作业推送,因此此处必须调降为 0 以增快开启速度
(GDC的安全分级设置,更详细的可参考 https://4js.com/ask-reuben/ig-90/ )
GDC 在2.50版本前有额外推出 ActiveX 版本,支持 ie 触发下载功能。随着微软正式宣告停止支持 ActiveX,GDC从 3.00起停止发行 ActiveX 版本
讯息传递与渲染
我们将第一篇的 FGLRUN与GDC关系图在做深化一些讲解:
程序利用FGLRUN 工具执行起来时,就已经会在主机的内存中呈现一棵程序树。但因为没有画面档的需求,或是还不需要与用户交谈,这个XML结构 (树) 不会送出。直到执行『交谈指令』才会送出。
(交谈指令为:MENU/INPUT/DISPLAY ARRAY/CONSTRUCT/PROMPT/DIALOG等)
当踩到交谈指令后,即会将此 XML结构送出;之后,再传送『有异动的部分』回到服务器。
(所以,当画面启动当下,传输量会有个小高峰,接下来传输量会降低。)
AUI TREE: 传递用的 Streaming XML
我们可以从 GDC端,透过 Ctrl-鼠标右键,在执行出来的应用程序空白处点击,就可以把XML结构呈现出来
透过AUI TREE可以看甚么?当然是看画面上的结构、组件、甚至是资源文件读进来的内容,是否满足原先构想的需求。
举例来说:现在画面上 lbl_gzza001 到底翻译资料读进来是啥?COMBOBOX下拉式选单里面是否已经有选项?等。这些都可以透过从AUITREE的数据来确认想处理的是否已送到GDC。
渲染:Native Randering(原生渲染) 与 Universal Randering(通用渲染)
将 XML 转化为实体的外显窗口、窗体、组件的方式,即为渲染的意思。GDC原始透过 QT 的工具协助绘制各种对应于 OS 的窗口及控件(widget),这就是 Native Randering
现今许多桌面应用作业,都想兼容于浏览器、或跨移动端执行,且个性化、客制化程度高。传统式的点击操控在浏览器接口早已被多样的控件取代。因此后续将会修改为以 Universal Randering为主,逐步停止对 Native Randering 的支持。
GDC作为一个承载渲染引擎的工具,从GDC 3.00开始,支持 Native 与 Universal 并存。
**于 GDC 4.00板起,取消 Native Randering 的支持 **
两种渲染方式,其实影响的不是程序代码(4GL & PER/4FD),而是相对位置。因此,相关程序功能大多不会因为调整渲染方式而发生异动,需要检视的是画面组件,会不会因为相对位置的些微出入,造成排版上阅读不习惯。这是需要花力气在作核对的。
注:因应网络特性:浏览器基底不会支持直接让 Code 透通 OS 的底层,所以同时被关闭的功能还有 frontCALL 部分,此部分调整成因与『渲染引擎』无关,不可混为一谈。
GDC 启动与问题排除
启动后若没有调整启动通讯端口,预设为 6400,重复启动GDC (不同版本) 时,会迭加到 6401..之后
若启动 port变更,则主机上 FGL 所需要的环境变量也需要对应修改,如 export FGLSERVER=X.X.X.X:1
:1 指的就是在 6400 + 1 = 6401 (依此类推)
设定
设定页签上有些功能可作为运用
- 偏好:可设定字号,请特别注意此处影响的是字形的基底,也就是当画面分辨率高的时候,才需要作字形的放大,其余状况不需要。另外中文字型,若有设定资源文件时,则此处会被应用程序覆盖 (如 T系列产品)
GDC 3.X系列下方会有『通用呈现』的开关,此开关开启后会改为使用 Universal Randering - 进阶:此处有『清除』功能。GDC会将画面的属性写入 windows Registry 档案。从而影响下一次开启。若需要清除这些设定可从此页签进行清除。
- 连结:主要就是 ping 值的设定,若网络状况不佳时,建议可设定 FGL 参数值的80% (就是要回头看FGL配置啦,要搭配上的)
- 安全性:启动时的参数 -A X 主要影响此页签的设定
- 报表:若采用 GRE 进行打印时,可透过此处指定直接送印的印表装置
除错/调试
操作遇到问题,最麻烦的就是无法理解用户当下遇到甚么问题。所以可以透过上述『交纪录文件』的方法,请用户作一下操作过程的录制。录制出来的档案提交到 MIS 或开发端,可以利用『回放』功能,观看整个操作纪录。可能是资料缺漏,或是真正遇到问题,都可以从此处看出来。
例如上方曾经提到的 AUI TREE,如果想要理解『如何被异动』,就可以点开立即查看的小窗口。此处会将收到的封包内容完整的呈现过来,此时可以观察到底是缺少设定数据,或是发生异常的段落。
** 从 FGL端也可查看,需要使用『export FGLGUIDEBUG=1』启动监测功能,与GDC相互比对
此方法通常可观测到的是网络问题,例如已经触发功能了,但 server没传递过来 (可能防火墙有开,或 roter不通之类的问题)
联机快捷方式设定
回到第一个页签中,曾经看过快捷方式的设定。基本上建议可善用此联机设定,只要将 GAS 套件提供的联机 URL 配置过来,透过点击就可以直接开启作业进行操作。省去了透过浏览器启动的动作。
下一步
从 GDC 3.20 版本起,该快捷方式配置还可支持『拖拉方式』,直接拖曳到桌面汇出,或拖拉到 GDC 进行汇入。此举可方便分享操作快捷方式,对推广系统初期,甚为便利。
GDC可运用的配置项目还有许多,但仍受到 OS 与第三方搭配软件 (如 QT) 的版本牵制,以致于许多设定或异常并没有办法及时修复。期望后续在调整为 Universal Randering 之后,能趋向于即知即改,避免用户作过多的替代方案。
转载请注明:赫非域 » [day16]GDC基本的概念与操作