随笔分类 -  Delphi-ActiveX

摘要:前言 COM已经成为一个必需的东西了。在我们周围,可以说处处充满了COM – 如果你是在使用WINDOWS,并在其下面编写程序的话。然而,无论你是用VC,还是使用DELPHI进行COM编程时,在大多数情况下,编程工具的 IDE已经向你隐藏了COM的大部分实现过程,使得程序员根本不需要了解COM,只专 阅读全文
posted @ 2016-02-25 18:21 findumars 阅读(4806) 评论(0) 推荐(0) 编辑
摘要:使用以CreateOleObjects方式调用Word 实际上还是Ole,但是这种方式能够真正做到完全控制Word文件,能够使用Word的所有属性,包括自己编写的VBA宏代码。----------------------------------------- Word宏编辑器Word能够真正地进行V 阅读全文
posted @ 2016-02-25 18:16 findumars 阅读(7764) 评论(0) 推荐(0) 编辑
摘要:接口对象的内存空间假设我们定义了如下两个接口 IIntfA 和 IIntfB,其中 ProcA 和 ProcB 将实现为静态方法,而 VirtA 和 VirtB 将以虚方法实现:[delphi]view plaincopyprint?IIntfA=interfaceprocedureProcA;pr... 阅读全文
posted @ 2016-01-11 21:04 findumars 阅读(264) 评论(0) 推荐(0) 编辑
摘要:学习COM编程技术也快有半个月了,这期间看了很多资料和别人的程序源码,也尝试了用delphi、C++、C#编写COM程序,个人感觉Delphi是最好上手的。C++的模版生成的代码太过复杂繁琐,大量使用编译宏替代函数代码,让初学者知其然而不知其所以然;C#封装过度,COM编程注定是要与操作系统频... 阅读全文
posted @ 2016-01-11 21:03 findumars 阅读(324) 评论(0) 推荐(0) 编辑
摘要:DELPHI编写服务程序总结 一、服务程序和桌面程序的区别 Windows 2000/XP/2003等支持一种叫做“系统服务程序”的进程,系统服务和桌面程序的区别是:系统服务不用登陆系统即可运行;系统服务是运行在System Idle Process/System/smss/winlogon/ser 阅读全文
posted @ 2016-01-02 05:50 findumars 阅读(3376) 评论(0) 推荐(1) 编辑
摘要:前言 前些日子用 Delphi 写了一个 Windows 外壳扩展程序,大家知道 Windows 外壳扩展实际上就是 COM 的一种应用 -- Shell COM,虽然整个程序写得还算比较顺利,但写完后还是感觉对 Delphi 中 COM 的实现有点雾里看花的感觉,因此我认为有必要花一点时间对 CO... 阅读全文
posted @ 2015-12-30 23:12 findumars 阅读(977) 评论(0) 推荐(0) 编辑
摘要:接口对象的内存空间假设我们定义了如下两个接口 IIntfA 和 IIntfB,其中 ProcA 和 ProcB 将实现为静态方法,而 VirtA 和 VirtB 将以虚方法实现:[delphi]view plaincopyprint?IIntfA=interfaceprocedureProcA;pr... 阅读全文
posted @ 2015-11-30 22:04 findumars 阅读(303) 评论(0) 推荐(0) 编辑
摘要:学习COM编程技术也快有半个月了,这期间看了很多资料和别人的程序源码,也尝试了用delphi、C++、C#编写COM程序,个人感觉Delphi是最好上手的。C++的模版生成的代码太过复杂繁琐,大量使用编译宏替代函数代码,让初学者知其然而不知其所以然;C#封装过度,COM编程注定是要与操作系统频繁... 阅读全文
posted @ 2015-11-30 22:03 findumars 阅读(851) 评论(0) 推荐(0) 编辑
摘要:ADO多线程数据库查询通常会出现3个问题:1、CoInitialize 没有调用(CoInitialize was not called);所以,在使用任何dbGo对象前,必须手 调用CoInitialize和CoUninitialize。调用CoInitialize失败会产生"CoInitiali... 阅读全文
posted @ 2015-11-27 21:29 findumars 阅读(922) 评论(0) 推荐(0) 编辑
摘要:非常实用的东西!过去知道这个方法的话可以解决多少问题啊首先建立一个C#的DLL工程,写一个类//Test.csnamespaceTest...{publicclassMyTest...{publicstringFun()...{returnthis.ToString();}}},编译然后在cmd里执... 阅读全文
posted @ 2015-11-26 22:33 findumars 阅读(1728) 评论(0) 推荐(0) 编辑
摘要:从前我也是用SystemParametersInfo这API来改桌面壁纸的,问题多多,也不知道哪错了,就没深究下去。看了CSDN的帖子后,大彻大悟~~在XP下,SystemParametersInfo只支持BMP格式的图片,如果用其他格式的话就会黑屏?(我记得当年我就是这情况 现在懒得测试了) 把... 阅读全文
posted @ 2015-11-26 21:37 findumars 阅读(604) 评论(0) 推荐(0) 编辑
摘要:1. COM不能单独建立,必须有一个Delphi工程的实体,EXE或者DLL都行2. 自动生成Project1_TLB.pas文件3. 自动生成Unit2.pas文件,其中最重要的包含内容有:initialization TTypedComObjectFactory.Create(ComServe... 阅读全文
posted @ 2015-09-21 00:33 findumars 阅读(326) 评论(0) 推荐(0) 编辑
摘要:控件对象既可在EXE中实现,也可在DLL中实现。这种实现对于COM对象的用户来说是透明的。因为COM提供了调度服务(marshaling)。COM调度机制能够化进程甚至跨机器的函数调用,这使得16位程序可以访问32位的应用程序,机器A中的对象能够访问机器B中的对象。这种机器与机器之间的通讯称为分布式... 阅读全文
posted @ 2015-09-21 00:12 findumars 阅读(526) 评论(0) 推荐(0) 编辑
摘要:释放接口对象,既不是调用MyObj.Free,也不是MyObj.Release;破坏对象的正确方法是将它们设置为nil:MyInterface := nil;一个接口不能离开实现它的对象而独立存活。这个接口仅仅是一个抽象,它仅仅是一个想法。接口具有即插即用的功能,它建立了供应商必须遵守的规范。接口可... 阅读全文
posted @ 2015-09-16 23:08 findumars 阅读(498) 评论(0) 推荐(0) 编辑