加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

TMSWEBCorev2.2发布

(2023-07-25 09:22:25)
标签:

哲想

软件

办公

解决方案

分类: 软件

今天,我们发布了TMS WEB Core v2.2,这是我们努力使Object Pascal 开发人员的Web客户端应用程序开发尽可能无缝、高效和高效的另一个里程碑。

v2.2再次引入了大量新功能和增强功能,使开发人员体验更好、更丰富。让我们立即跳转到详细信息!


自动表单路由

TMSWEBCorev2.2发布

经验丰富的TMS WEB Core 开发人员会意识到,TMS WEB Core 生成带有SPA单页应用程序)的Web客户端应用程序)架构类似于AngularVueReact的架构……虽然这个名称可能会被误解为提供单一形式的应用程序,但这绝对是不正确的。SPA意味着应用程序从单个URL启动,并且在执行时,应用程序继续从此启动URL运行。这带来了一些缺点,例如,无法与以特定表单打开应用程序的其他用户共享URL。路由为此提供了解决方案。这意味着当打开新表单时,哈希值会添加到URL,并且当使用带有哈希值的URL时,会在链接到哈希值的表单上自动打开应用程序。在以前版本的TMS WEB Core 中,已经可以添加应用程序级代码来实现此功能,而v2.2则内置了自动机制。两个新的演示演示了如何使用它。要利用这一点几乎没有什么可做的。首先,在表单单元的初始化部分添加 

查看纯文本

RegisterClass(TMyForm);    

并在项目主代码中添加:

查看纯文本

if not Application.Route then  

Application.CreateForm(TMainForm, MainForm)  

项目源代码中的代码确保当URL使用哈希(类似#formclass)时,应用程序将自动打开提到的表单而不是主表单。


当注册表单类时,这意味着当打开该表单时,散列#formclass将自动添加到应用程序URL中。


使用此技术还可以使用浏览器后退和前进按钮在表单之间导航。

我们邀请您查看Demo\Basics\AdminRoutingDemo\Basics\Routing下的两个新演示应用程序来演示这一点。


Firebase设计时管理

如果您更愿意利用Google基础设施来管理后端数据,而不是使用数据库部署自己的REST API 后端,您会发现使用Firebase现在要容易得多。在IDE中的设计时,您可以查看Firebase项目中的表并操作其元数据。这会自动配置 您可以绑定到数据库感知控件的TWebFirestoreClientDataSet。这样,您就拥有了一个几乎无代码的解决方案来处理后端数据,包括多租户场景。 

TMSWEBCorev2.2发布


TWebStringGrid中的自定义单元格绘图

我们的网格得到了扩展,支持添加自定义绘制的单元格。这是通过使用grid.AddCanvas(Column,Row)将画布添加到单元格来实现的。添加后,您可以随时访问此画布并使用类似VCLTCanvas代码在其上进行绘图。 

TMSWEBCorev2.2发布

实现此目的的代码变为:

查看纯文本

var    

  ACanvas: TCanvas;    

  pt: array of TPoint;    

begin    

  WebStringGrid1.AddCanvas(1,1);    

  WebStringGrid1.AddCanvas(2,1);    

  WebStringGrid1.AddCanvas(3,1);    

  ACanvas := TCanvas.Create( webstringgrid1.GetCanvas(1,1));    

  try    

    setLength(pt,3);    

    pt[0].X := 32   

    pt[0].Y := 4   

    pt[1].X := 4   

    pt[1].Y := 60   

    pt[2].X := 60   

    pt[2].Y := 60   

    ACanvas.Brush.Color := clLime;    

    ACanvas.Pen.Color := clSilver;    

    ACanvas.Polygon(pt);    

  finally    

    ACanvas.Free;    

  end   

end 


TWeb String Grid中的自定义单元格编辑器

现在,您可以使用任何其他控件作为网格单元的就地编辑器。这是通过以下方式实现的:

-
实现OnGetCellEditor并作为编辑器类型geCustom返回。例如,要使用自定义就地编辑器编辑第2列,请使用:

查看纯文本

procedure TForm1.WebStringGrid1GetCellEditor(Sender: TObject; ACol,  

  ARow: Integer; var AEditor: TGridCellEditor);  

begin  

  if (ACol 2and (ARow >= WebStringGrid1.FixedRows) then  

  begin  

    AEditor := geCustom;  

    WebStringGrid1.EditControl := MyEditControl;  

  end 

end 


-
此外,两个事件处理程序允许将单元格数据传输到就地编辑器,反之亦然。这变得像:


查看纯文本

procedure TForm1.WebStringGrid1GetEditControlValue(Sender: TObject; ACol,  

  ARow: Integer; AControl: TControl; var Value: string);  

begin  

  Value := (AControl as TMyEditControl).Text;  

end 

  

procedure TForm1.WebStringGrid1SetEditControlValue(Sender: TObject; ACol,  

  ARow: Integer; AControl: TControl; const Value: string);  

begin  

  (AControl as TMyEditControl).Text := Value;  

end 


通过这种技术,使用TWeb CalendarTWeb Drop Dpown Control用于在网格中创建日期选择器编辑控件:

TMSWEBCorev2.2发布



TWebDBGridTWebDBTableControl导出XLSX

TWebXLSX是一个组件,允许直接从浏览器创建Excel .XLSX 文件,然后将其下载到客户端计算机。现在,TWebXLSX得到了扩展,支持将其绑定到TWeb DB GridTWeb DB Table Control,以自动将其包含的数据从浏览器导出到Excel XLSX 文件。 


使用WebRTC进行点对点音频/视频通信

 新的TWebRTC组件支持通过 WebRTC标准协议通过音频、视频或桌面共享进行点对点 无服务器通信。建立连接只需要一个Web套接字服务器(其中包含我们使用 TMS FNC WebSocket构建的示例套接字服务器)。连接后,您可以通过浏览器进行通信,而无需依赖服务器,因此也无需此类服务器(例如OpenTokJitsi)涉及任何可能的成本。 

TWebRTC再次遵循提供基于RAD组件的简单方法的原则,以便快速、轻松地将此功能添加到Web客户端应用程序中。您可以通过随附的新演示来探索这一新功能。


TMSWEBCorev2.2发布


TWeb Element ActionList扩展中的TElement Action

TElement Action现在有3个新操作act Add Classact Add Remove Classact Remove Class和新属性Target Class AddTarget Class Remove。通过这些要添加或删除的CSS类的新操作和定义,现在可以设置TElement Action以根据元素的特定Java Script事件更改目标元素的CSS类。这使得无代码方法能够在单击或悬停其他HTML元素时更改HTML元素的状态或外观。


许多较小的改进和新功能

TMSWEBCorev2.2发布

TWeb Google Chart 组件经过扩展,允许自定义 X轴和Y的外观 


为了跟踪TWeb Browser Control中内容的加载 ,现在可以使用新的OnLoad事件。


TWebHTMLContainer使用新方法LoadFromURL()进行了扩展,以允许从URL处的外部数据加载此容器中的内容


此外,为了与实现OAUTH2流的服务接口,  TApplication 类现在具有 Handle OAuth 属性 ,允许您选择TApplication是否处理此流,或者是否要使用应用程序级代码以自定义方式处理此流。


TWeb Button控件现在添加了属性Cancel / ModalResult。这使得现在可以构建对话框,其中“确定”或“取消”按钮可以对ESCRETURN键做出反应,以取消或关闭此类对话框。


用于将TWeb Client DataSet连接到某个特定URL处的数据的TWeb Client Connection以前只能将JSON数据加载到TWeb Client DataSet现在它已扩展为还允许使用CSV格式的数据填充TWeb Client DataSet 


立即更新或尝试TMS WEB Core

正如您所看到的,TMS WEB Core 的这个新的主要版本投入了大量的精力。这样做的主要目标是:让您作为Object Pascal 的生活更容易创建Web客户端应用程序。对于刚刚接触Web客户端开发的Object Pascal 开发人员,您可以下载TMS WEB Core 的全功能试用版,并探索它如何让您高效地拥抱Web应用程序的世界!



公司名称:北京哲想软件有限公司

北京哲想软件官方网站:cogitosoft.com

北京哲想软件微信公众平台账号:cogitosoftware

北京哲想软件微博:哲想软件

北京哲想软件邮箱:sales@ cogitosoft.com

销售(俞先生)联系方式:+8601068421378

 

微信:18610247936     QQ368531638


0

阅读 收藏 喜欢 打印举报/Report
前一篇:SketchUpStudio
后一篇:IDA8.3亮点
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有