uniGUI试用笔记(九)】的更多相关文章

uniGUI执行程序部署有3种形式 1.ISAPI模式 部署在IIS或Apache,程序编译为Dll形式,没有试,准备后续专门测试一下. 2.标准执行文件模式 将软件编译成一个独立的Exe文件,包括了WEB服务和业务内容,是uniGUI部署方式中最简单的一种.该方式最大特点是可以进行代码跟踪,同一般exe程序调试一样,在Debug模式下程序调试非常方便.运行exe后就可以直接打开页面进行测试,通过任务栏上的图标可以打开服务监控页面,监控服务程序的运行情况,如下图: 3.Windows服务模式 将…
uniGUI执行程序部署有3种形式 1.ISAPI模式 部署在IIS或Apache,程序编译为Dll形式,没有试,准备后续专门测试一下. 2.标准执行文件模式 将软件编译成一个独立的Exe文件,包括了WEB服务和业务内容,是uniGUI部署方式中最简单的一种.该方式最大特点是可以进行代码跟踪,同一般exe程序调试一样,在Debug模式下程序调试非常方便.运行exe后就可以直接打开页面进行测试,通过任务栏上的图标可以打开服务监控页面,监控服务程序的运行情况,如下图: 3.Windows服务模式 将…
今天尝试用uniGUI做Web服务器,调用应用服务器的WebService,遇到些问题记录下来备忘. 1.对WebService的调用同一般App程序,只是注意如果WebService的执行时间较长,会报超时错误,此时需要处理: (1)在DataModule上放一个THTTPRIO控件: (2)在数据模板创建时,设置THTTPRIO控件的HTTPWebNode属性的超时时间,代码如下: procedure TUniMainModule.UniGUIMainModuleCreate(Sender:…
最近研究了一下UniGUI的TuniDBGrid,记录一下免得忘记了. TuniDBGrid的重要属性包括: 1.列—TUniDBGridColumns和TUniDBGridColumn 每个列对象(TUniDBGridColumn)的重要属性包括: CheckBoxField : TUniCheckBoxField 列作为CheckBox操作的相关属性 属性 类型 说明 AutoPost Boolean 当用户点选CheckBox后,改变前端显示并根据该属性决定: True—立即自动提交到数据…
今天用LoadRunner对uniGUI的Standalone模式的程序进行了一次压力测试,程序采用三层模式,将应用服务器与Web服务器分离,由于条件限制,数据库.应用服务和Web服务都部署在同一条云服务器上,客户端使用IE浏览器,如下图: , 云服务器配置:CPU 4核 内存8G 硬盘500G 带宽10Mbps 客户端为笔记本电脑,i7 8核,内存16G,硬盘1T,客户端带宽20Mbps 先用LoadRunner纪录一组操作,包括操作员登录.打开结算单列表,大约900条纪录分页显示,点击第一条…
在业务系统中常常使用回车键(Enter)替代Tab键完成焦点跳转,在uniGUI下,可以不用代码,直接使用TUniForm的NavigateKeys进行设置: 其中Next和Prior决定了焦点向下一个和前一个跳转的按键 Key = 13 表示Enter ShiftStete 表示辅助键(Shift.Alt或Ctrl)按下状态,当二者结合就可以进行判断 一般用Tab或Enter代表跳转下一个控件,Shift+Tab或Shift+Enter代表返回上一个控件,Tab和Shift+Tab是系统缺省,…
uniGUI的文件下载由于TUniSession的存在而变得非常简单,最典型的一个例子就是将列表中的所有数据导出到Excel中.服务器上采用TMS FlexCel控件,先将数据集中的记录导入到Excel文件中,然后再将Excel文件内容输出到内存流中,最后通过TUniSession发送到客户端.代码如下: procedure TfmeWebDBListBase.ExportData; var i, rowindex, colindex: Integer; ms : TMemoryStream;…
uniGUI提供了一个文件上传控件TUniFileUpload,进行数据的导入就变得比较容易.首先将TUniFileUpload控件放置在窗体上,按下导入按钮后,执行TUniFileUpload的文件上传功能: procedure TfmeWebDBListEditBase.btnImportClick(Sender: TObject); begin inherited; { 执行文件上传 } fuMain.Execute; { 启动Mask,显示文件上传过程 } fuMain.ScreenMa…
uniGUI的主窗体可以采用多页面方式进行管理,参考网上的资料,都是用TUniFrame + TUniPageControl 来实现,尝试了一下,效果还不错,如下图: 用TUniFrame 能够使用继承模式,我采用了以下的类关系: TfmeWebEmbedBase : 所有嵌入Frame的基类,实现了与主窗体的交互和控制,包括窗体的关闭等 TfmeWebDBListBase:   与数据集列表操作相关的基类,实现了数据集的开启.数据导出与打印等 TfmeWebDBListEditBase:与数据…
uniGUI下有专用的登录窗体类:TUniLoginForm,该类属于AppForm,构建代码为: function frmWebLogin: TfrmWebLogin; begin Result := TfrmWebLogin(dmWebMain.GetFormInstance(TfrmWebLogin)); end; 系统中如果存在登录窗体,则首先显示该窗体,当登录窗体返回不同ModuleResult值时,代表不同含义: ModalResult := mrOk; //表示登录成功,显示主窗体…
uniGUI下的MessageDlg使用发生了变化,最大的特点是: 1.成为了uniGUIForm的成员函数: 2.变成过程(procedure)了,也就是没有返回值了,使得程序不再具有线程阻塞性. 3.增加了一个传入回调函数的参数:callBack : TuniDialogCallbackAnonProc,该类型定义在uniGUIDialogs单元中: TuniDialogCallbackAnonProc = procedure (Sender : TComponent; Res : Inte…
前几天做的demo今天启动后,浏览器打开页面后死活不显示窗体,找了半天原因才发现是360浏览器启动了兼容模式,改成极速模式后就正常了.有点晕.... 今天简单测试了TUniGUIServerModule的几个属性 Title   应用程序名称,显示在页面标签上的 LoadingMessage  载入ExtJS库时显示的信息 UnavailableErrMsg   服务器不可用时显示的信息 MainFormDisplayMode  主窗体的显示模式,可选项包括: mfWindow 窗体模式,有窗体…
通过向导创建一个uniGUI应用服务器,工程中有三个文件: TUniServerModule = class(TUniGUIServerModule) TUniMainModule = class(TUniGUIMainModule) TMainForm = class(TUniForm) (1)采用了单例模式,所有客户端共用一个TUniServerModule实例对象,从下面代码可以看出: function UniServerModule: TUniServerModule; implemen…
通过URL代入参数,在代码中读取,如: http://localhost:8501/?ServerPort=212&&ServerIP=192.168.31.12 在代码中可以通过: FServerIP := UniApplication.Parameters.Values['ServerIP']; FServerPort := UniApplication.Parameters.Values['ServerPort']; 呵呵,很简单哈…
TUniTreeView目前版本没有封装CheckBox功能,所以需要手工处理,幸好0.99版提供部分代码了,修改过程如下: 1.uniGUIAbstractClasses.pas单元中修改基类TUniTreeNode,增加Checked属性,代码如下: TUniTreeNode = class(TPersistent) private FChecked: Boolean; ... public property Checked : Boolean read FChecked write FCh…
目录 go微服务框架kratos学习笔记九(kratos 全链路追踪 zipkin) zipkin使用demo 数据持久化 go微服务框架kratos学习笔记九(kratos 全链路追踪 zipkin) 当代的互联网的服务,通常都是用复杂的.大规模分布式集群来实现的.互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发.可能使用不同的编程语言来实现.有可能布在了几千台服务器,横跨多个不同的数据中心.因此,就需要一些可以帮助理解系统行为.用于分析性能问题的工具. 本节简单搭建…
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9374935 作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5&mod=personinfo 在上一节笔记中,雾央预告说打算这一节讲流畅动画的改进以及重新封装代码的,但是看起来似乎没有多少同学感兴趣,所以雾央决定把他们往后挪一挪,先来讲解点有意思的东西. 在游戏之中…
Elasticsearch笔记九之优化 ).get(); } curl命令可以在linux中建立一个定时任务每天执行一次,同样java代码也可以建立一个定时器来执行. 2:内存设置之前介绍过es集群有两种启动方式第一种是bin目录下bin/ elasticsearch打开/usr/local/elasticsearch-1.4.4/bin/elasticsearch.in.sh文件修改文件中的两个参数,将ES_MIN_MEM=256m和ES_MAX_MEM=1g的值改成一样一般设置为可用内存的6…
目录 多线程学习笔记九之ThreadLocal 简介 类结构 源码分析 ThreadLocalMap set(T value) get() remove() 为什么ThreadLocalMap的键是WeakReferrence? 总结 多线程学习笔记九之ThreadLocal 简介   ThreadLocal顾名思义理解为线程本地变量,这个变量只在这个线程内,对于其他的线程是隔离的,JDK中对ThreadLocal的介绍: This class provides thread-local var…
在kbmMW 5.06.20试用笔记中遇到的问题,在这个版本中,基本都解决了.但还是发现修正后存在的小问题及新问题: 1.Resolve返回值错误 当提交的ClientQuery是执行一条sql语句,如Insert,当发生错误时,如主键重复,则Resolve无法返回正确的结果.具体情况就是在客户端显示异常信息. q1.Query.Text:='Insert into t1 (fid,fname) values (''1000'',''aaaa'')'; //q2.Query.Text:='Ins…
<Microsoft SQL Server 2008 MDX Step by Step>学习笔记九:导航结构层次   SQL Server 2008中SQL应用系列及BI笔记系列--目录索引 导读:本文介绍MDX中的导航结构层次(Hierarchies).成员(Member)之间的关系可以用家族来描述.本文以此为基础,介绍了: ■1.访问直系亲属关系(Immediate Relatives) ■2.访问延伸亲属关系(Extended Relatives) ■3.在一个级别(Level)内导航…
python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96.html 为什么用Python开发桌面应用程序_yu000hong_新浪博客http://blog.sina.com.cn/s/blog_48a45b950100zhwx.html 鱼C工作室-免费Python教学视频,论坛  里面有GUI开发的免费视频http://bbs.fishc.com/f…
1.kbmMWConfiguration自动备份配置文件的问题还没有修正. 下面是以前写过的内容,再一次在新闻组中提出这个问题: kbmMW提供一个强大的配置信息管理对象,前期译过这个对象的介绍,在使用过程中,发现一个问题, 就是TkbmMWCustomConfigurationStorage.BackupMaxCount属性,当设置为0时,也会生成配置信息的备份文件,在最新的kbmMW 5.05.11版本中,每运行一次就生成一个配置文件,对此,修正了代码. 打开单元文件 kbmMWGlobal…
Go语言学习笔记九: 指针 指针的概念是当时学C语言时了解的.Go语言的指针感觉与C语言的没啥不同. 指针定义与使用 指针变量是保存内存地址的变量.其他变量保存的是数值,而指针变量保存的是内存地址.这个内存地址可能保存者一个基本数值. 指针变量也是有类型的.它需要知道自己保存的内存地址指向数值的类型,因为不同的数值类型占用的空间大小是不同的. 在指针中有两个重要的符号需要了解: &和. 其中&是用于获取普通变量的地址,而是获取内存地址指向的数值.看起来就是一对反向操作. 另外在声明指针时也…
CentOS 7 mini 试用笔记 安装过程中,网卡是默认关闭的,要手动打开. 安装好以后,查看IP地址:# ip addr----------------------1: lo: 本地回环2: eno16777736: 网卡13: eno33554960: 网卡2 设置网卡1的静态IP地址:# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736-----------------------BOOTPROTO=dhcp修改为BOOTPROTO…
原文:DirectX11笔记(九)--Direct3D渲染5--CONSTANT BUFFERS 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010333737/article/details/78778217   在之前例子的 shader 里有这样一段代码 cbuffer cbPerObject { float4x4 gWorldViewProj; };   这段代码定义了一个 cbuffer 类型的变量 cbPerObject. Co…
Python学习笔记之九 为什么要有操作系统 管理硬件,提供接口. 管理调度进程,并且将多个进程对硬件的竞争变得有序. 操作系统发展史 第一代计算机:真空管和穿孔卡片 没有操作系统,所有的程序设计直接操控硬件 优点:程序员独享整个资源    缺点:浪费资源 第二代计算机:晶体管和批处理系统 优点:计算机资源利用 缺点:程序员共享资源,出现问题,找不出问题,影响开发效率 第三代计算机:集成电路芯片和多道程序设计 多道程序:cpu执行程序的过程中遇到I/O,不会原地等待,cpu会去执行其他命令,等到…
分片(sharding)是指将数据拆分,将其分散存在不同的机器上的过程.有事也用分区(partitioning)来表示这个概念.将数据分散到不同的机器上,不需要功能强大的大型计算机既可以存储更多的数据,处理更大的负载.『MongoDB中的自动分片』MongoDB在分片之前要运行一个路由进程,该进程名为mongos.这个路由器知道多有数据的存放位置,所以应用可以连接它来正常发送请求.mongos对应用隐藏了分片的细节.何时分片?    ·     机器的磁盘不够用了.    ·     单个mon…
JPHP试用指南 编译 环境准备 有JDK 1.6 的环境 Gradle 1.4 以上 具体配置略过,git签出https://github.com/dim-s/jphp/代码后,看readme.md文件即知. 开始编译 快速试用 切换到 jphp-example-project 目录 /path/to/gradle jar 开始编译,编译完成后会在当前目前下 build/libs/中 生成 jar文件,如jphp-example-project-0.4-SNAPSHOT.jar 这个包中包含了…
欢迎装载请说明出处:http://blog.csdn.net/yfqnihao/article/details/8271407 课程源码:http://download.csdn.net/detail/yfqnihao/4866503 什么是java的策略,什么又是策略文件. 今天我换一下笔记的方式,不是直接讲概念,而是先来做一个小例子,相信你做完这个例子之后再看我对例子的讲解,你对策略,策略文件,会豁然开朗的感觉. 例子很简单,简单的才是大家的,下面跟着我(你完全可以copy我的代码). 第一…