delphi 组件容器TObjectList代替List】的更多相关文章

delphi 组件容器TObjectList代替List TObjectList objList->delete(0); 这个会释放第0行元素的对象 class TTabFormInfo { public: int a; String s1; String s2; TForm *frm; }; 如果是这样的对象,删除的时候frm指针所指的对象也要删除,frm指针为空就不删除,不为NULL就删除. 所以不想删除frm指针的对象,就不用TObjectList. 但是如果仅仅是简单类型或frm是自己n…
用Delphi开发的时间也不短了!刚接触Delphi的时候,就觉得组件这个东西非常方便!根本不必知道组件内部的作为,只要使用就好了!然而用的多了,也不免会对各种delphi组件的内部实现方式产生兴趣!也不知道从什么时候开始,开始开发delphi的控件,这也得归功于我所在的公司了,由于老板的信任,我得以开发各种公司内部需要的控件,期间也积累了一部分的开发经验.在这个Delphi日渐凋零的时刻,于是我在心里便想,用了这么长时间的Delphi,也用来混了好几年的饭钱了,同时也不断的在网络上汲取了各种各…
当一个组件的dpk文件数量较多且安装工具不顺手的时候,写一个属于自己的组件安装工具就很有必要了. 本例以 Dev Express 16.1.2 为例,设计一个组件安装工具,以便更深入理解 delphi 组件规则. 结合笔者提供的其它组件安装教程,想必大家是可以彻底掌握“组件安装”这个知识点了. 不写正确的废话,教程从实际中来,到实际中去,让大家慢慢攻克 delphi 部分知识点. 提供源码,直接 F9 可以运行,是我一惯的风格.请大家多多支持. Dev Express 16.1.2 组件包下截…
https://blog.csdn.net/ozhy111/article/details/87975663 删除delphi组件TStringlist中的重复项目 2019年02月27日 15:41:15 ozhy111 阅读数 81   procedure RemoveDuplicates(const stringList : TStringList) ; var   buffer: TStringList;   cnt: Integer; begin   stringList.Sort; …
学习安装组件的最好方法,就是自己编写一个组件并安装一遍,然后就真正明白其中的原理了.   本例,编写了两个BPL, dclSimpleEdit.bpl 与 SimpleLabel.bpl ,其中,dclSimpleEdit.bpl 依赖 SimpleLabel.bpl , 或者说 dclSimpleEdit.bpl 需要 SimpleLabel.bpl 才能运行.这也是多数组件安装问题之典型!   本例源码下载(delphi 7)   一.首先在delphi中打开 ComponentStudy…
概述 在页面中,比较棘手的地方就是布局.而要实现布局,就得有能维护布局的容器.可以说,在我试过和使用过的Javascript框架中,Ext JS的布局是做得最棒的一个,而这得益于它强大的容器类和丰富的布局类.在本文将介绍Ext JS的容器组合和布局类. 容器:Ext.container.Container 容器的主要功能是管理其内部的组件,因而在继承Ext.Component的全部功能的基础上,添加了对应的用来处理内部组件的方法add.insert.remove和removeAll.在配置项方法…
2.双简合璧2.1.带有T[x]Label的T[x]Edit组件 请允许我用[x]的书写方式来表示不同的对象.因为随后将大量提及TLabeledEdit与TTntLabeledEdit.TCustomLabeledEdit与TTntCustomLabeledEdit这样及其雷同的类.2.2.分析T[x]LabeledEdit组件结构 现在要设计一个类似TLabeledEdit的组件,查看ExtCtrls的TLabeledEdit定义如下:  TLabeledEdit = class(TCusto…
最近业余时间在写游戏修改器玩,对于Delphi自带的组件总觉得差强人意,需要书写大量冗余代码,如果大量使用第三方组件,在以后的移植和与他人交互时也不是很方便,因此便产生了自己封装组件的想法. 实际上这个想法在很久以前(大概04年写第一个修改器的时候)就有了,一直没有闲暇时间去做,而工作上类似的组件也会很实用,虽然不见得有第三方组件设计的那么规范.强大,但小巧.灵活是自主开发的优点. 很多初学者喜欢大量使用第三方组件库,经常见到一个软件中掺杂了四.五种组件库,这是让人很郁闷的.为了阅读.维护这样一…
看到Dev中的cxGrid组件的编辑器很强大,于是很想探究一下,跟踪cxGrid的代码比较麻烦,但原理大概知道一二.首先来研究一下设计器双击cxGrid弹出一个编辑窗体,选择窗体中的一个内容后,属性编辑器中的内容也随着变化.有了这个特性,对于控件中的一些复杂成员(继承于TPersistent类),如果需要对其进行设置,可以简化为在属性编辑器中进行.cxGrid的代码过于复杂,看看同样效果的标准控件TDataSet控件的字段编辑器的实现吧. 在Delphi的源码中找到DBReg单元,可以看到其注册…
indy 10终于随着Delphi2005发布了,不过indy套件在我的印象中总是复杂并且BUG不断,说实话,不是看在他一整套组件的面子上,我还是喜欢VCL原生的Socket组件,简洁,清晰.Indy9发展到了indy10几乎完全不兼容,可叹啊.言归正传.在使用IdTCPServer组件的时候发现了他的漏洞,他的OnConnec,OnExecute,OnDisconnect等事件是在其他线程中执行的,通常情况下这没有问题,但是在特殊的情况下会造成问题,如果其他部分的程序写得有问题就会出现漏洞.…
这是一个在窗体标题栏添加自定义按钮的组件(TTitleBarButton)开发实例,标题栏按钮组件TTitleBarButton以TComponent为直接继承对象,它是一个可以在窗体标题栏上显示按钮的组件,像最大化.最小化和关闭按钮等. 1.首先确定组件的属性. 属性是组件的重要组成部分,它相当于组件的门面,因为一旦一个组件被置于窗体中时,用户必然想到去设置组件的各种属性,编写各种事件的处理过程.TTitleBarButton有以下属性: Color:用来决定按钮表面的颜色.Glyph:用来决…
UniLabel组件: function OnClick(sender, e){ MainForm.UniLabel1.setText('Click!');} function Onmousemove(sender, x, y){ MainForm.UniLabel1.setPosition(x, y);} unibutton组件: function OnMouseout(sender, e){ sender.setText('Out');} uniedit组件 function form.On…
直接上部署配置文件 docker-compose.yml version: '3' networks: monitor: driver: bridge services: prometheus: image: prom/prometheus container_name: prometheus hostname: prometheus restart: always volumes: - /data/monitor/prometheus.yml:/etc/prometheus/prometheu…
背景 在<我们的应用系统是如何支撑千万级别用户的>随笔中已经从“宏观”角度去介绍了整个应用系统的布局.组件化是整个系统由头到尾都始终坚持的一个设计原则,其中“SOA组件化容器”也是我们应用系统比较特别的一点.好东西肯定要分享,当然,这个好还只停留在自恋当中. 主题 上图为整个SOA容器(即WEB容器)的透析图.其中各个(黄色)组件的执行流程就是整条业务线程的执行流程.例如在我们应用系统中主要包括会话组件.安全拦截组件.业务验证组件.业务解析组件.业务服务组件.业务响应组件.日志组件等.也就是这…
Redux 的 React 绑定库包含了 容器组件和展示组件相分离 的开发思想.明智的做法是只在最顶层组件(如路由操作)里使用 Redux.其余内部组件仅仅是展示性的,所有数据都通过 props 传入. 那么为什么需要容器组件和展示组件相分离呢? 这里有个基本原则:容器组件仅仅做数据提取,然后渲染对应的子组件,记住这个点,Trust me! 看下面这个展示列表的例子,不区分容器和展示组件的情况 // CommentList.js class CommentList extends React.C…
如需转载,请注明出处:Flutter学习笔记(10)--容器组件.图片组件 上一篇Flutter学习笔记(9)--组件Widget我们说到了在Flutter中一个非常重要的理念"一切皆为组件",在Flutter中,所有的元素皆由组件组成,比如说我们常用的文本.图片.按钮.动画等等,接下来说一下在Flutter中最常用到的几类组件. 容器组件 容器组件(Container)可以理解为在Android中的RelativeLayout或LinearLayout等,在其中你可以放置你想布局的元…
在Java中有那么一些概念:对象.类.包.模块.组件.容器.框架.这些概念都有一个共同的特点,就是[容纳]. 对象(Object) 在Java的世界里,对象是通过属性和方法来分别对应事务所具有的静态属性和动态属性的. 类(Class) 类是用于描述同一类型的对象的一个抽象的概念. 对象和类的关系 类是具有共同的属性名称和行为的一组对象的抽象,而对象则是一个类的真实的例子. 组件(Component) 组件也是抽象的概念,可以理解为一些符合某种规范的类组合在一起就构成了组件.他可以提供某些特定的功…
1.@Bean 导入第三方的类或包的组件 2.包扫描+组件的标注注解(@ComponentScan: @Controller,@service,@Reponsitory,@Componet), 自己写的类 3.@Import[可以快速给容器中导入一个或者多个组件]        1@Import(要导入到容器中的组件):容器中就会自动注册这个组件,id默认是全类名 @Configuration @Import(value = {Student.class,Teacher.class}) publ…
展示组件关心组件看起来是什么.展示专门通过 props 接受数据和回调,并且几乎不会有自身的状态,但当展示组件拥有自身的状态时,通常也只关心 UI 状态而不是数据的状态.(子组件)容器组件则更关心组件是如何运作的.容器组件会为展示组件或者其它容器组件提供数据和行为(behavior),它们会调用 Flux actions,并将其作为回调提供给展示组件.容器组件经常是有状态的,因为它们是(其它组件的)数据源.(父组件)…
第一部分   快速开发的基础 第1章   Delphi 5下的Windows编程    1 1.1   Delphi产品家族    1 1.2  Delphi是什么    3 1.2.1   可视化开发环境    3 1.2.2   编译器的速度和已编译代码的效率    4  1.2.3   编程语言的功能及其复杂性    4 1.2.4   数据库结构的灵活性和可扩展性    5 1.2.5   框架对设计和使用模式的扩充    5 1.3   历史回顾    5 1.3.1   Delphi…
Delphi组件的常用事件Onclick——当单击时触发这个事件中的代码Onchange——当改变该组件内容时触发其中的代码Oncreate——当创建时触发这个事件中的代码Onclose——当关闭的时候触发其中的代码OnKeyDown——当按下键盘上的键时触发该处代码OnKeyUp——当松开键盘上的键时触发该处代码OnKeyPress——当有键盘动作的时候触发该处代码OnMouseUp——当松开鼠标时触发其中代码OnMouseDown——当按下鼠标时触发其中代码OnMouseMove——移动鼠标…
如题1:如何把一个panel分割成四个小的panle 2:也就是如何加上spliter,分割条,任意调整大小 3.如何有独立的handle使用多个总共5个为什么呢,你放4个panel 然后放spliter,不行吗?? 放5个不够,1.先在窗体放一个大的,作为容器,如果直接使用窗体,这个可以省. 2.在大PENEL上放两个PANEL,一个SPLITER,其中一个align 设为 left (假如名为PanelLeft), 一个设置为Client(名为PanelRight), splier设为lef…
************************* 1.功能键 2.组合键 3.其他快捷键 4.补充 5.补充1(带分类) 6.补充2 --Edit by 2013.1.14 ************************** 1.功能键:F1       help帮助(help文档)                             F3       find (search again)                                   F4       run t…
Frame是组件面板上的第一个组件,但不是每个人都知道怎么用它,因为它不像Button和Label一样简单明了.实际上,Frame按钮只是打开一个Frame的列表,如果你没有创建任何的Frame,自然什么也不会看到. 那么Frame到底是什么呢?简单来说: 1. Frame是组件容器,类似Panel 2. Frame在使用上类似Components组件,但并没有构造器和解析器,依赖于父容器完成Destroy的工作 3. Frame可以继承和嵌套 4. Frame内部的控件都是公开的,可以在IDE…
<进击吧!Blazor!>是本人与张善友老师合作的Blazor零基础入门系列视频,此系列能让一个从未接触过Blazor的程序员掌握开发Blazor应用的能力. 视频地址:https://space.bilibili.com/483888821/channel/detail?cid=151273 本系列文章是基于<进击吧!Blazor!>直播内容编写,升级.Net5,改进问题,讲解更全面.因为篇幅有限,文章中省略了部分代码,完整示例代码:https://github.com/TimC…
 背景: 随着互联网世界的兴起,web前端开发的方式越来越多,出现了很多种场景开发的前端架构体系,也对前端的要求日益增高,早已经不是靠一个JQuery.js来做前端页面的时代了,而今移动端变化最大,近两年出现了React-lite.js,Vue.js,ReactNative,Weex...等一些开发方式,早期移动web端大多数基于sea.js模块化去开发,而我更倾向于组件化方式去开发,因为组件化的独立性才是为后期业务扩展,降低代码维护成本的最佳方案. 针对移动web端组件化,本人这次引用了古映杰…
前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了下面的内容.借油开车. 组件化 需求一到,接就是怎么实现,技术选型自然成为了第一个问题.鉴于目前web前端mvvm框架以及组件化开发方式的流行,决定技术栈采用:vue + es6 + 组件化. 这里首先简单说下web前端组件化开发方式的历程: 最早的组件化结构,代码结构可能如下: - lib/components/calendar |- calendar.css |-…
delphi 控件大全(确实很全)   delphi 控件查询:http://www.torry.net/ http://www.jrsoftware.org Tb97 最有名的工具条(ToolBar)控件库,仿Office97,如TDoCk97,TToolBar97,TEdit97,TToolWindow97等. http://www.fltvu.com/jiaocheng/chenxu1/delphi/vCl/index.htm http://www.delphiarea.com/produ…
delphi 控件查询:http://www.torry.net/ http://www.jrsoftware.org Tb97 最有名的工具条(ToolBar)控件库,仿Office97,如TDoCk97,TToolBar97,TEdit97,TToolWindow97等. http://www.fltvu.com/jiaocheng/chenxu1/delphi/vCl/index.htm http://www.delphiarea.com/produCts/ http://neftali.…
Delphi ActiveX Form的使用实例 By knityster 1. ActiveX控件简介 ActiveX控件也就是一般所说的OCX控件,它是ActiveX技术的一部分. ActiveX控件可以被集成到很多支持ActiveX的应用当中去,或者直接用来扩展应用的功能,这些支持ActiveX的应用包括C++ Builder.Delphi.Visual dBASE. Visual Basic.Visual C++.Internet Explorer.Netscape Navigator等…