随笔分类 -  COM

摘要:  (1) idispatch是COM object的接口, 在Delphi中通常指一个OleObject.    (2) OleVariant是一种COM object兼容的Variant类型, 可以通用任何Ole Automation 类型, 他与CreateOleObject创建的idispatch兼容 1:Com+的编写:   ... 阅读全文
posted @ 2010-11-27 16:13 覆雨翻云 阅读(2716) 评论(0) 推荐(0)
摘要:转自http://www.cnblogs.com/abchjb/articles/461725.html         软件重用是业界追求的目标,人们一直希望能够像搭积木一样随意“装配”应用程序,组件对象就充当了积木的角色。所谓组件对象,实际上就是预定义好的、能完成一定功能的服务或接口。问题是,这些组件对象如何与应用程序、如... 阅读全文
posted @ 2010-11-27 16:12 覆雨翻云 阅读(13224) 评论(0) 推荐(0)
摘要:1.VarArrayCreate procedure TForm1.Button1Click(Sender: TObject); var   V, W : Variant;   i : Integer; begin   V := VarArrayCreate([1,4], varVariant);   V[1] := 1;   V[2] := '... 阅读全文
posted @ 2010-11-26 14:42 覆雨翻云 阅读(10884) 评论(0) 推荐(0)
摘要:在进程内自动化服务器中定义一个函数方法,需要在函数返回时,返回多个值,这就需要采 用数组的类型,比如,我定义了一个方法: function Calculate(inputtime: Integer): PSafeArray; safecall; 需要返回一个数组,如何实现呢?是否采用safearray类型呢? 在定义参数时采用的是safearray类型,怎么实现呢? 参考D5开发人员指南 23章,... 阅读全文
posted @ 2010-11-26 12:50 覆雨翻云 阅读(630) 评论(0) 推荐(0)
摘要:在服务器端建立一个remoteDataModule,MyTest,定义一个方法Testing,客户端可以通过 DcomConnection1.Appserver.Testing调用此远程方法!在服务器端的type library里手工建立一个接口,ITest1,然后,建立一数据模块,   TDataModule3 = class(TDataModule,ITest1) 进行业务... 阅读全文
posted @ 2010-11-26 09:35 覆雨翻云 阅读(1142) 评论(0) 推荐(0)
摘要:在COM+中,如何传递一个Record,或一个Record数组? (可以传递ADO的记录集吗?好像VB可以,但VB传递的记录集,Delphi可以用吗?)   当然可以 看看一下代码 1。定义一个结构   ///////////////////自定义的欠费统计结构   towe=record     name:shortstring; ... 阅读全文
posted @ 2010-11-26 00:36 覆雨翻云 阅读(706) 评论(0) 推荐(0)
摘要:ADO+SQL Server 2K+Delphi 5+miads做的三层结构. 中间层RDM自定了一个接口,有一个参数为olevariant类型,把数据库中的image类型的数据 传给Client,想通TMemoryStream把数据读到olevariant中,失败. 问题1:如何把一个TMemoryStream中的数据读到一个olevariant型变量中? 问题2:如上面描述,有否其他方法实现?... 阅读全文
posted @ 2010-11-26 00:34 覆雨翻云 阅读(548) 评论(0) 推荐(0)
摘要:由于COM+是执行在COM+的执行环境中,因此Delphi 的程序员无法像Delphi的分布式多层应用系统一样可以直接在 Delphi 的IDE 中设定应用程序服务器的断点来调试。 事实上, Delphi 仍然可以在 Delphi 的集成开发环境中调试 COM+组件,也可以让程序员在集成开发环境中在COM+组件的程序单元中设定断点,然后执行客户端应用程序调用 COM+组件。此时 Delphi 便会... 阅读全文
posted @ 2010-11-26 00:25 覆雨翻云 阅读(1111) 评论(0) 推荐(0)
摘要:有一系统用ado+socket三层方式 服务器端:Ado--sqlserver 客户端:socket连接方式 问: 1.当客户端需要查询或更新数据时,在客户端的clientdataset的commandtext 里写入语句,让服务器端去执行,是否合理? 2.当需要查询一个数据量较大的数据库时,采用select top 10000(为查询最大数,用户设置)  * from table 然后... 阅读全文
posted @ 2010-11-26 00:22 覆雨翻云 阅读(3011) 评论(0) 推荐(0)
摘要:好久没来这里,我来尝试着为初学者做一个入门讲座。 业务:客户的需求描述稍作整理,就可以认为是业务 业务逻辑:业务的计算机具体实现,对于数据库应用来说,往往可以具体为一个SQL语句 你现在正跟客户进行关于工资模块需求的交谈: 客户说,我想要查某个部门的工资表,有时需要查某个人的工资表,这个工资表是按月查询的 你现在可以根据这个需求建立这样的工资服务模型(基于Com+): mtsSalary.dll ... 阅读全文
posted @ 2010-11-26 00:02 覆雨翻云 阅读(805) 评论(0) 推荐(0)
摘要:许多初学者问这类问题,这里做个总结 =================================     接口不支持错误,是Com Based组件在调试阶段经常发现的错误。在不同的操作系统中,这个错误表达有所不同,Interface not Suported,类没有注册,没有注册类别,指的都是同一种错误。     Com Based... 阅读全文
posted @ 2010-11-25 23:38 覆雨翻云 阅读(615) 评论(0) 推荐(0)
摘要:众所周知,delhpi对象有属性、方法和事件,但我们不能在TLB编辑器中 找到com事件,这里告诉您如何创建Com事件。 Writing COM Automation Events - by Borland Developer Support Staff Abstract:A short tutorial on writing simple Automation server and client... 阅读全文
posted @ 2010-11-25 23:36 覆雨翻云 阅读(867) 评论(0) 推荐(0)
摘要:unit TransComponent; {本工具供Com/DCom间传递组件(从TComponent继承的所有对象) 调用 VariantToComponent 时会出现 "Class <TClassName> not Found "提示 多次 , 在调用单元的initialization段加以下语句: RegisterClass(<ClassName>... 阅读全文
posted @ 2010-11-25 23:32 覆雨翻云 阅读(299) 评论(0) 推荐(0)
摘要:定义两个接口类型: IIntf1=interface   ['{85460100-EB0D-11D9-8395-BA555218190B}']   procedure I1Func1(p1:string);   procedure I1Func2(p1,p2:string); end; IIntf2=interface   ['{85460101-EB0D-... 阅读全文
posted @ 2010-11-25 23:25 覆雨翻云 阅读(371) 评论(0) 推荐(0)
摘要:delphi 引用方式: Project->Import Type Library -> 可以看到 MyQoo Library (Version 1.0)名称 ->Create Unit ->在Borland\import资料夹产生MyQoo_TLB.pas单元給其他程式引用 应用范列: unit Unit1; interface uses   ... 阅读全文
posted @ 2010-11-25 23:20 覆雨翻云 阅读(655) 评论(0) 推荐(0)
摘要:http://www.2ccc.com/article.asp?articleid=1359 转自csdn的Blog:感觉还可以,对我们在编程中还有用,所以发给大家.     编写Delphi应用程序时,经常会遇到一些ActiveX控件[注:扩展名为OCX的控件或DLL的类型库],它们为应用程序的开发提供了简单的操作途径。然而,这些程序在发布的同时,面临Active... 阅读全文
posted @ 2010-11-25 23:11 覆雨翻云 阅读(871) 评论(0) 推荐(0)
摘要:     ActiveX控件也就是一般所说的OCX控件,它是ActiveX技术的一部分。ActiveX是微软公司推出的基于组件对象模型COM的技术,包括对Windows 32位应用编程接口(Win32 API)和组件对象模型的一系列扩充和增强,目标是把计算机桌面环境与因特网环境集成起来,同时保护在Windows技术中现有的开发投资。微软的ActiveX技术根... 阅读全文
posted @ 2010-11-25 23:09 覆雨翻云 阅读(8268) 评论(1) 推荐(1)
摘要:本文通过一个编程实例介绍了Delphi 7下编写不可视ActiveX控件的方法,并给出了源代码。为使用Delphi编写其他类型ActiveX控件的读者提供参考和借鉴。 关键词 Delphi,ActiveX控件,定时器,VCL组件 一、前言 Delphi下有大量优秀的且提供源码的VCL组件,如果想在其他开发环境(如VB 6.0,VC 6.0,VS.net等)中使用它们,就必须把这些VCL组件转... 阅读全文
posted @ 2010-11-25 23:04 覆雨翻云 阅读(2535) 评论(0) 推荐(1)
摘要:摘 要:描述了MTS和COM+组件的原理,演示如何创建、安装、分 关键字:MTS COM COM+ 类 别:COM & ActiveX CoDelphi.com版权所有,未经允许,不得进行任何形式转载    简述   ·MTS是一种中间层COM组件宿主环境   ·中间层组件应当是无状态的   ·依靠无状态模式,MTS可以缓冲资源,在客户端之... 阅读全文
posted @ 2010-11-21 20:53 覆雨翻云 阅读(1454) 评论(0) 推荐(0)
摘要:用过Delphi的编程爱好者们都知道,Delphi中Visual Component Library(VCL)中具有大量的组件,尤其是第三方设计的VCL,如Ahm系列,LMD系列,VenusPro等,在程序中适当的使用它们会让你的程序在界面上或者功能上增色不少,这让许多VB迷们馋的掉口水,因为毕竟免费的并且功能强大的ActiveX控件太少了,本文就是为那些到处找控件的VB迷写的。 ---- 为方便... 阅读全文
posted @ 2010-11-21 20:28 覆雨翻云 阅读(618) 评论(0) 推荐(0)