主要是TObject那些虚函数,到底放在了哪里?…
前言 前些日子用 Delphi 写了一个 Windows 外壳扩展程序,大家知道 Windows 外壳扩展实际上就是 COM 的一种应用 -- Shell COM,虽然整个程序写得还算比较顺利,但写完后还是感觉对 Delphi 中 COM 的实现有点雾里看花的感觉,因此我认为有必要花一点时间对 COM 在 Delphi 中的实现做一些研究.另外我也买了李维的新书 --<深入核心 -- VCL架构剖析>,里面有两章涉及了与 COM 相关内容,看完后我知道了COM 在 Delphi 中的实现是基于…
Indy IdThreadComponent 线程研究 前几天在开发数据实时解析功能模块的时候,发现解析数据量巨大,特别耗时,程序一跑起来界面假死. 为了优化用户体验,采用了Indy 自带的IdThreadComponent控件,完美的解决了此问题. 下面就IdThreadComponent一些关键属性和方法做如下记录: 1:IdThreadComponent属性 这里主要记录一下Active.Priority和StopMode属性. Active:默认False,当需要令IdThreadCom…
http://ymg97526.blog.163.com/blog/static/173658160201139101120862/http://ymg97526.blog.163.com/blog/static/173658160201131021911946/http://ymg97526.blog.163.com/blog/static/173658160201131064545445/ 记录下来,慢慢看. http://blog.163.com/as_liaokun/blog/stati…
Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; 第一步,貌似什么都不做,但如果提前定义InitProc就不一样了 procedure TApplication.Initialize; begin if InitProc <> nil then TProcedure(InitProc); end; 第二步,创建一部分Form,特别是MainForm procedure TApplica…
Vista提供的UAC机制,是Vista的新增功能之一.它的主要目的是防止对于操作系统本身的恶意修 改.如果想对于Vista的 系统设置进行改动,必须通过UAC的验 证才能够进行.通过这样的手段,大大提供了系统的安全性. 关于UAC的利弊,网络上的说法褒贬不一,在这里就不具体讨论了. 对于Delphi程序的影响,UAC主要在于以下几点: 1.由于UAC机制,Delphi对于系统的操作可能无声的失败,而同样的程序,在2000/X下面可能运行正常.譬如注册表的改动... 2.为了避免这样的情况,De…
1. ShortString 类型 定义:type ShortString = string[255]; 内存结构与大小:ShortString 是每个字符为单字节的字符串.ShortString 的变量实际是一个指针,它指向堆中一个256字节大小的数据结构,第一个字节是字符串总字节的数目(不一定是字符数目),后面是字符的字节表示.ShortString 类型的变量最多可以容纳255个字符,超出的部分将会被丢弃.ShortString 可以存储非ASCII字符,这些字符以操作系统的 codepa…
最近计划做一个新闻网站,前端打算用成熟的CMS搭建,后台是mongodb+mysql做数据过滤容器和最终数据存储,选型CMS如下: dedecms:国内某知名cms,以前用过,功能强大,网上资料资料很多,扩展插件和主题丰富,不过近几年更新的很少了,都是小修小补,一个没有人维护的程序用着心理不踏实,没做实质性测试 wordpress:老外的博客,结构简单,主题和插件丰富,上来操作了一下,入手很快,表结构相对简单,做了个数据导入程序,大约12W数据导入(包括标题和原文),数据库大约415M,前端首页…
通过以下实例拦截窗体WM_SysCommand消息,我们可以获取到很多有趣的数据. 一.程序界面 二.程序代码 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) ListBox1: TListBox; private { Private declarat…
小甲鱼PE详解之输出表(导出表)详解(PE详解09) 当PE 文件被执行的时候,Windows 加载器将文件装入内存并将导入表(Export Table) 登记的动态链接库(一般是DLL 格式)文件一并装入地址空间,再根据DLL 文件中的函数导出信息对被执行文件的IAT 进行修正. ( 基础补充:很多朋友可能看到这里会有点懵,各位看官请允许小甲鱼啰嗦一下,照顾初学者.我们都明白Windows 在加载一个程序后就在内存中为该程序开辟一个单独的虚拟地址空间,这样的话在各个程序自己看来,自己就拥有几乎…
Every Delphi class is defined internally by its vmt—​its virtual-method table. The vmt contains a list of pointers to a class’s virtual methods. It also contains some other class-specific information, including the name, the size, a reference to the…
转帖自:http://www.tommstudio.com/ViewNews.aspx?ID=187http://hi.baidu.com/rarnu/blog/ 本文翻译自<美国优秀经理观念大全修订本> 我想现在没有什么比做一个软件工程师更能赚钱的了,当然了,明星除外.在美国,一个优秀的软件工程师,就算在一个平凡的岗位上,也能得到年薪50万(美元)以上的待遇.这绝对不是开玩笑,在北美曾有统计表明,一年内发放给软件工程师的工资以及各种福利,占去了全美净收入的2.4%,这是一个很大的数字. 我是…
使用delphi的XML处理单元 XMLDoc XMLIntf 在获取XML文本内容的时候, 高版本的Delphi会丢失编码描述....在D7上却是正常的, 下面是测试源码: procedure TForm1.Button1Click(Sender: TObject); var nXMLDoc: IXMLDocument; i: Integer; nMS: TMemoryStream; nSS: TStringStream; nStr: string; begin nXMLDoc := TXML…
http://ljz9425.blog.163.com/blog/static/369148572008111635253858/ Delphi下的RTTI(下) 2008-12-16 15:52:53|  分类: Delphi |字号 订阅目 录===============================================================================⊙ GetTypeData 函数⊙ GetPropInfo 函数⊙ FindPropInfo…
http控件能不能实现post文件?要求效果就像普通的html中通过表单(form中<INPUT TYPE="FILE" NAME="FILE1" SIZE="50">))发送文件一样. 我试过用post字符串好像没问题..但是要实现这种方式没头绪 换一种说法就是用delphi的http控件提交包含文件的表单..服务器端用普通的文件上载控件像接受html页面中的form提交一样来接受上载的文件. http://www.matlus.c…
更新 1.更新小伙伴 @大龄Giser 提出好点子:试试VS的插件扩展:VSIX.ItemProject等,将T4模板给制作插件,这里先记下,有懂的小伙伴可以自己先试试,我会在以后更新. 2.感谢小伙伴  @博客园董事长的测试和指正,本文 T4 模板已经支持 Oracle 3.再次感谢小伙伴 @大龄Giser  关于 使用VSIX+ProjectTemplate创建项目模板,提供开源支持:https://www.cnblogs.com/OlderGiser/p/9796403.html 4.感谢…
前一阵子,研究了一段时间的Win32Asm,研究到后来发现Win32的ASM实际上还是和C版的介绍的一样.甚至还封装了一个简版的类似VCL库结构框架的32ASM结构库,不过搞着搞着就没兴趣了,也没继续往下深入,唉!发现年龄越来越大,人也越来越懒. 休息了好长一阵子,在乱七八糟的东西乱弄一堆之后,总算发现了一个能有点用处的东西,于是就欣欣然跑来记录一下日志博客以为备份. 我们都知道在Delphi,VC等这类静态检测形的语言,如果要使用一个函数,必须要先申明一下此函数结构,然后调用的时候,编译器才会…
摘要     Borland Object Pascal 对象模型(现在已经正是命名为 Delphi 语言)与其他 OOP 语言一样,都提供了一些基础服务: 如对象创建服务.对象释放服务.对象识别服务.对象信息服务,除此之外在编译器和 VCL framework 级别上提供了一些额外的服务,例如对象消息分派服务. 前言 首先说一下,Delphi 对象模型涉及的概念非常多,因此在这篇笔记中,我无法将所有的知识点都点到,只是理出一条线方便后来人.可以说这部分内容不是很容易搞懂的,建议大家多看 VCL…
作为个人的一个感受就是,在win平台上开发软件,别再他妈的用MFC了,不适合新手,上手太难.你妹,实现一个半透明的功能,一堆代码,而C#就他妈的几行话.靠. 似乎很多人都觉得Delphi已经没落了.过时了(我身边有好多同事都没听过Delphi).但我不这么认为.“真正的程序员用c,聪明的程序员用Delphi”这句话是对Delphi最经典.最实在的描述.或许现在说这句话有点牵强,因为现在互联网太普及,以至于B/S程序远远盖过了C/S程序的风头. 但是C/S程序永远不可能被替代(包括B/S的必备软件…
Delphi 读取 c# webservice XML的base64编码图片字符串转化图片并显示 在 开发中遇到应用c#及asp.net的在的webservice 保存图片并以xml文件形式现实出来 并用delphi调用 的方法: .c#的webservice现实见 http://www.greensoftcode.net/techntxt/20127118441582992373 之前的文章. .在客户端用delphi显示 发现asp.net xml形式输出的图片是base64字符串形式.用d…
DELPHI 把数据库中的数据转换成XML格式 function ReplaceString(AString: string): string; begin Result := StringReplace(AString, '&', '&', [rfReplaceAll]); Result := StringReplace(Result, '>', '>', [rfReplaceAll]); Result := StringReplace(Result, '<', '&l…
SQLSERVER聚集索引与非聚集索引的再次研究(上) 上篇主要说聚集索引 下篇的地址:SQLSERVER聚集索引与非聚集索引的再次研究(下) 由于本人还是SQLSERVER菜鸟一枚,加上一些实验的逻辑严谨性, 单写<SQLSERVER聚集索引与非聚集索引的再次研究(上)>就用了12个小时,两篇文章加起来最起码写了20个小时, 本人非常非常用心的努力完成这两篇文章,希望各位看官给点意见o(∩_∩)o 为了搞清楚索引内部工作原理和结构,真是千头万绪,这篇文章只是作为参考,里面的观点不一定正确 有…
SQLSERVER聚集索引与非聚集索引的再次研究(下) 上篇主要说了聚集索引和简单介绍了一下非聚集索引,相信大家一定对聚集索引和非聚集索引开始有一点了解了. 这篇文章只是作为参考,里面的观点不一定正确 上篇的地址:SQLSERVER聚集索引与非聚集索引的再次研究(上) 下篇主要说非聚集索引 先上非聚集索引的结构图 先创建Department8表 --非聚集索引 USE [pratice] GO CREATE TABLE Department8( DepartmentID ,) NOT NULL…
来自: daocaoren0824, 时间: -- ::, ID: 再给你一份 程序员实用函数 {▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎} {▎ ▎} {▎ 大家都是程序员 没有必要重复一些无聊的事情 我的这些函数能给大家带来方便 ▎} {▎ 如果觉得还一般 请关注 WWW.cdsunco.com/www.ccemove.com QQ:35013354 ▎} {▎ 系统公用函数及过程 ▎} {▎ ▎} {▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎…
17. 怎样设计多表头的cxGrid? 解决:cxGrid可以解决如下的表头: --------------------------------- | 说明1 | 说明2 | --------------------------------- | 字段1 | 字段2 | 字段3 | 字段4 | | 字段5 | 字段6 | | 字段7 | 字段8 | 字段9 | 实现这个很简单,你可以直接在上面拖动字段名,拖动时会显示箭头的,放入你想显示的位置就OK了.或者在鼠标右击cxGrid1DBBanded…
虚拟方法表和动态方法表 虚拟方法表VMT: 一个虚拟方法表从指针所指地址的负偏移.76 处开始,长度动态分配(由虚拟方法的个数确定).虚拟方法表被分为很多小段,每段占4 个字节,也就是众多指针.每个指针指向一个虚拟方法的入口地址. VMT可分为 1) 基础信息区 VMT负偏移区(-76-0)即为基础信息区.存储了基础数据(如实例大小).基础数据的指针(如接口表.运行时类型信息表.字段表.方法表.类名和父类虚拟方法表等)和所有基础性虚拟方法的指针.这个区域的数据和指针帮助实现对象的构造和析构.运行…
1.什么是单点登录? 关于单点登录技术的说明参考文章:http://www.cnblogs.com/yupeng/archive/2012/05/24/2517317.html 一般来说,整个原理大家都比较认可.下一步需要关注的是使用什么技术来实现单点登陆. 2.选择什么技术实现单点登录? 经过比较最终选择使用CAS:http://www.oschina.net/p/ja-sig+cas 3.CAS技术研究 3.1CAS下载 CAS分为Server端和client端: 官网地址:https://…
修改Delphi工具控件的默认字体: 注册表: Delphi 6:    HKEY_CURRENT_USER\Software\Borland\Delphi\6.0Delphi 7:    HKEY_CURRENT_USER\Software\Borland\Delphi\7.0下增加一个名为“FormDesign”的项,再在这个项下面新建一个字符串值:新建字串:DefaultFont ,值为: 宋体,9[注意不是原来的Form Design 项,新建项没有空格] 参考:http://www.c…
大体思路: 1.用户向服务号发消息,(这里可以是个菜单项,也可以是一个关键词,如:注册会员.) 2.kbmmw web server收到消息,生成一个图文消息给微信,在图文消息中做好自己的url,在url中,可以把第一步消息带来的openid写到url的参数表中. 3.用户点这个图文消息 4.web server收到这个图文消息的url,根据这个url,生成一个网页给微信,这里面关键是把openid写到网页中 5.用户填写这个网页,提交(提交的同时也把openid也提交回来了) 6.Ok,现在得…
复合文档文件格式研究   前 言 复合文档(Compound Document) 是一种不仅包含文本而且包括图形.电子表格数据.声音.视频图象以及其它信息的文档.可以把复合文档想象成一个所有者,它装着文本.图形以及多媒体信息如 声音和图象.目前建立复合文档的趋势是使用面向对象技术,在这里,非标准信息如图像和声音可以作为独立的.自包含式对象包含在文档中.Microsoft Windows就是使用这种技术,叫做“OLE2 storage file format”或“Microsoft Office…