用Delphi 编写Com+的心得体会

相关名词: (1) idispatch是COM object的接口, 在Delphi中通常指一个OleObject. (2) OleVariant是一种COM object兼容的Variant类型, 可以通用任何Ole Automation 类型, 他与CreateOleObject创建的idispatch兼容 1:Com+的编写: 1:File---->New---->Other....---->ActiveX Library 标签 下的 Transactional Object 2: 然后填写: Co...

Oracle与SQLServer选型时不得不说的三个小差异

甲骨文与微软两大数据库产品,是数据库发展史上的两座大山。这让我们在数据库选型的时候,基本上没有多大的选择余地,不是微软就是甲骨文。但是,从他们两者来说,还是有比较大的差异。今天笔者就谈谈在数据库选型的时候,不得不关注的他们之间的三个小差异。了解这些区别,能够给我们数据库选型带来很大的指导作用。 一、所支持平台的差异。 甲骨文的数据库系统,是在JAVA平台上开发起来的,所以,保持着众多JAVA程序的特性。如有很多功能都需要利用命令来完成;如一些辅助工具也都是类似DOS窗口的命令行形式的窗口,等等。而基于JAVA平台开发的数据库版本,也继...

惊奇------今天进入baidu 搜索页面!

voltePost by volte 发表于 2007-1-13 16:06:00 首页 上一页 下一页尾页 页次:1/6页 6篇日志/页 转到: volte www.bc-cn.net Copyright 2006-2007. All rights reserved.编程博客 版权所有本站服务器及带宽由济南速海网络赞助... blog.bc-cn.net/user2/5780/index.shtml 23K 2007-5-31 - 百度快照 volte - 编程中国个人空间 - powered by X-Space欢迎与volte交流技术!EMAIL :...

就‘程序员是程序员,不是商人’感想

是啊!虽然IT行业遍地是金,IT人各怀技术,各领域成名人士频频见诸媒体,但在表面光彩鲜亮的背后也有诸多的职业弊端为业内所诟病。而且艰辛的开发工作在挑战我们的技术、运转我们的身体同时,更给我们的心理带来了考验,所以调节好程序开发者的心理尤为重要。 这就要求我们在忙碌的开发生活中,做好协调、保持自己身心的节奏。’志向高远就不会象舵轮一样‘原地’打转”,即使一时间打破了节奏,但在总的方向上并没有迷失或打乱自己,这样就不会因为日复一日的辛劳而心理失衡。‘拥有了理想后,有了职业目标,定好你的未来规划,自然就会变的积极进取,生活多资多彩。 就拿创业来说。当你开始处于创业的初期...

男人时刻反省

1、事业永远第一       虽然金钱不是万能的,但没有钱是万万不能的。虽然这句话很俗,但绝对有道理,所以30岁之前,请把你大部分精力放在你的事业上。 2、别把钱看得太重   不要抱怨自己现在工资低,银行存款4位数以下,看不到前途,现在要做的就是努力学习,即使你文凭再高,怎么把理论运用到实践还是需要一个很长的锻炼过程,社会永远是一所最博大的大学,它让你学到的知识远比你在学校学到的重要得多,所以同样,你也别太介意学历低。30岁之前靠自己能力买车买房的人还是极少。 3、学会体谅父母   别嫌他们唠叨,等你为人父了你就知道可怜天下父母心,在他们眼里你还是个孩子,但他们真的老了,现在得你哄他们开...

客户和开发方

一直想写点什么,苦于没有时间,也没那个精力去摸索。现在终于有了点想法,搬出来与大家共同交流, 软件工程:是一门很有造诣的学科。经历了这几年的开发摸索,还是认为软件工程给人感觉学无止境,学的若有体会。做一个项目,没有好的规划,没有一个好的设计,没有好的建模,没有好的建设方案,等于是白搭。 笼统的说:要想做好一个应用型系统。系统架构是好的开始,项目需求整体化,需求全局性决定了 这个项目最终的成功和失败!其实好的系统并不是说有多少多少功能,而是你对客户的需求融会了多少进系统中,给客户带来多大的方便和高效性。现在很多的公司是为了项目而做项目,整个需求调研也是自己很久的旧业务知识。...

如何从开发人员走向架构师

很多架构师都是从好的开发人员逐步过渡而来的,但并非每个好的开发人员都希望成为架构师,而且他们并不是都适合做架构师。无论您是打算进行职业转型的开发人员,还是寻找能承担体系结构设计责任的合适人选的经理,都务必对此转型过程有个清楚的了解。本文将讨论从实现专家到架构师的过渡过程。   在寻找优秀的指挥的时候,您首先要找的是一名优秀的音乐演奏家。但并非每个音乐演奏家都能成为优秀的指挥。架构师的专业发展方面也与此类似。越来越多的 IT 组织开始认识到良好软件体系结构的重要性,架构师职业正迅速发展为 IT 内一个独立的门类。由于要从相当小的候选范围内招募架构师,因此这就给管理带来了一些新挑战。...

陈皓给程序员的八条建议

1. 在大学的时候尽量多地进入公司参与实际工作,一方面积累工作经验,另一方面,提前认识工作和自己,以便毕业时更准确地把握自己的方向。 2. 从毕业开始到毕业后至少5年内,踏踏实实地专研技术,这是一个积累过程,千万不要把心思放在钱和职位上。钱和职位只是能力的附属品,不要让其喧宾夺主。 3. 从毕业后3年到7年的时间,注意学习工作当中的方法以及相关的管理和流程,不但要知其然,还要知其所以然。 4. 30岁以前,踏踏实实地学习。学技术,学做人,学做事。30岁以后再谈自己的发展。 5. 毕业后的前5年主要是量的积累,要不停地积累...

想做一名更好的开发者吗?

1. 交谈 尽可能多地跟其他软件开发者交谈;培养个人关系;跟意见与你相左的人交流;跟经验更丰富的人交流;跟阅历丰富的人交流。多到Groups 中去,尤其是交谈自由随意的Groups——不约束主题,不约束交谈内容。 2. 选择更好的环境 我遇到好多开发者,在我看来他们有成为优秀开发者的所有优点,只是他们没有机会在好的环境中工作。这里所说的好的环境,是指周围有一帮愿意且能够分享他们知识的开发者。如果你是“菜鸟级”开发者,你的成长路线将因他们而大为缩短;如果你是“高级”开发者,你的能力也会因为同伴的刺激和挑战而提高。 3. 参与开源 也许你的工作会...
技术交流 | 2007-07-13 01:00 | 阅读 2465 次 | 评论 0 条

职业规划就像软件工程

人生短暂,属于自己黄金的时间不多,如果把太多的时间浪费在寻找道路和方向上,很有可能会导致一事无成,要及早确定自己的规划,然后照着这个规划坚定不移的去执行。陈皓认为,做规划时最重要的是两个方面:一是清楚地认识自己的能力、优势和性格;二是确定自己的专业和想从事的行业。只有在确定这两方面后,才能做出自己的职业规划。 两方面看起来很简单,但认识自己并不是一件容易的事情。陈皓认为应当从下面十五个方面审视和认识自己,帮助自己确立人生规划:A)所掌握的知识,B)问题的解决能力、判断能力和分析能力,C)对待困难的心态,D)团队合作能力,E)表达能力和语言组织能力,F)创造和创新能力,...

软件架构设计之横切竖割需求

软件架构强调的是整体,而整体性的设计决策必须基于对需求的全面认识; 软件架构应该是稳定的,而遗漏了重要需求的架构设计面临的是返工的命运。 一言以蔽之,全面认识需求,是生产出高质量软件所必须的“第一项修炼”。 作为一个软件架构师,也不应对所有需求“胡子眉毛一把抓”,而是应全面认识需求——分门别类地将需求梳理清楚。 下图所展示的“需求空间分割图”揭示了全面认识需求的要求。要全面认识需求,意味着我们必须从不同级别来考察需求:组织级、用户级、开发级,还要对每个级别考虑不同类型的需求:功能需求、质量属性、约束。 一方面,需求是分层次的。一个成功的软件...

如何分析、撰写流程图文档-项目管理

一、流程的主体说明:包括该流程要完成的主要工作及面对的对象等作一个总体的概述。 二、流程图:根据流程图绘制的要求详细地把实际的工作过程用流程图的形式表现出来,一般包括几个部分,参与该流程的岗位或人员、流程图的名称、图标定义、流程图编号、绘制日期、执行日期等部分。 三、流程描述:是对流程图的补充和加强。 1. 步骤: 1) 起点:详细描述该流程执行的先决条件; 2) 某一步骤:详细描述此步骤的操作方法及执行完成的条件和标志。 3) 结束:详细描述该流程结束的标志。 2. 步骤输出的信息:列出该步...
技术交流 | 2007-05-24 17:38 | 阅读 1730 次 | 评论 0 条

Windows下的HEAP溢出及其利用(2)

四、实战 由于Windows下的溢出对于本地利用来说没有多大意义,所以我们一个存在HEAP溢出漏洞的网络程序为例:/* win_heap_vul.c Windows下存在HEAP溢出漏洞的服务端程序 */ #define PORT 1500 #define BUFFLEN 32 //分配内存的大小 #define COPYLEN 64 //实际拷贝的大小 int main() { WSADATA wsd; SOCKET sListen, sClient; struct sockaddr_in local, client; int iAddrSize; HANDLE hHeap; char...

Windows下的HEAP溢出及其利用(1)

一、概述 前一段时间ASP的溢出闹的沸沸扬扬,这个漏洞并不是普通的堆栈溢出,而是发生在HEAP中的溢出,这使大家重新认识到了Windows下的HEAP溢出的可利用性。其实WIN下的HEAP溢出比Linux和SOLARIS下面的还要简单得多,大家肯定已经都搞明白了,我来做是一个总结,以免自己将来忘了。由于缺乏这方面的资料及源代码,所有的分析结果都来自于反汇编和调试的分析,所以错误之处在所难免,敬请各位指正。 以下所有程序的测试环境为: 中文版Windows 2000 + SP2 VC++ 6.0 二、Windows的HEAP管理机制简述 同LINUX一样,Windows的HEAP区是程序动...

Windows下的HEAP溢出及其利用

一、概述 前一段时间ASP的溢出闹的沸沸扬扬,这个漏洞并不是普通的堆栈溢出,而是发生在HEAP中的溢出,这使大家重新认识到了Windows下的HEAP溢出的可利用性。其实WIN下的HEAP溢出比Linux和SOLARIS下面的还要简单得多,大家肯定搞明白了,我来做一个总结,以免自己将来忘了。由于缺乏这方面的资料及源代码,所有的分析结果都来自于反汇编和调试的分析,所以错误之处在所难免,敬请各位指正。程序的测试环境为:中文版Windows 2000 + SP2 VC++ 6.0 二、Windows的HEAP管理机制简述 同LINUX一样,Windows的HEAP区是程序动态分配一块内存...

Delphi与Word之间的融合技术

一、VBA代码含义 Microsoft Word是一个集成化环境,是美国微软公司的字处理系统,但是它决不仅仅是一个字处理系统,它集成了Microsoft Visual Basic,可以通过编程来实现对Word功能的扩展。 Microsoft Visual Basic在word中的代码即Word的宏,通过编写Word宏,可实现一些文档处理的自动化,如实现文档的自动备份、存盘等,可扩展Word文档的功能,因此,能够充分利用Word的特性,甚至使Word成为自己软件的一部分。 Word的宏既有有利的一部分,因为它能够帮助我们实现文档的自动化,但是Word的宏也不是纯粹的有利,有时它可能危...

Delphi中控制VBA 宏

如何在Delphi里面利用Word的VBA代码进行一些总结 1、 生成VBA代码。Word本身具有很强的可扩展性,尤其是支持用户自定义功能,其实现 的主要方式就是通过VBA代码来实现的。在“工具->宏->Visual Basic编辑器”里面就可以看 到具体的宏代码,可以直接进行编辑。而且还可以使用录制宏的功能自动生成宏代码。方法是 选择“工具->宏->录制新宏”,然后执行自己想通过程序实现的功能,如存盘、打印等功能, 此时Word一边执行你要实现功能,一边将你的操作生成了一个宏,在实现功能后,可以选择 “工具->宏->VisualBasic编辑器”,查看生成的宏代码。 例如...

发送邮件代码

procedure TForm1.Button1Click(Sender: TObject); begin try IdSMTP1.AuthenticationType:=atLogin; //设置登陆类型 IdSMTP1.Username:=Edit1.Text; //设置登陆帐号 IdSMTP1.Password:=Edit2.Text; //设置登陆密码 IdSMTP1.Host:=Edit3.Text; //设置SMTP地址 IdSMTP1.Port:=strtoint(Edit4.Text); //设置端口 必须转化为整型 ...

DBGrid的网格长度怎样根据实际字符串长度变化

///////Begin Sourceuses Math;function DBGridRecordSize(mColumn: TColumn): Boolean;{ 返回记录数据网格列显示最大宽度是否成功 }begin Result := False; if not Assigned(mColumn.Field) then Exit; mColumn.Field.Tag := Max(mColumn.Field.Tag, TDBGrid(mColumn.Grid).Canvas.TextWidth(mColumn.Field.DisplayText)); Result ...

Borland Delphi一句话帮助

1. 如果想你的程序能够正确处理异常情况的话,请引用SysUtils.pas单元,否则即使程序使用了try。。。except。。。也不能正确捕获异常。2. 定义常量字符串的一种方式resourcestringaa='aaaa';raise Exception.CreateRes(@aa);3. 字符串常量数组的初始化const constarray:array [0..2] of string=(‘first’,’second’,’third’);4. 结构体初始化type Tstructinit=recordA1:integer;A2:array [0..2] of integer;E...
浏览83703次