错误提示"尚未调用 CoInitialize"的解决方法 获取链接 Facebook X Pinterest 电子邮件 其他应用 十一月 27, 2006 这个错误一般会发生在过早调用ADO,XML的时候,需要在你调用的时候加上下面这段代码 :引用ActiveX单元Initialization CoInitialize(Nil); FinalizationCoUnInitialize; 获取链接 Facebook X Pinterest 电子邮件 其他应用 评论
在Delphi中操作Sap对象造成内存增长的原因 四月 27, 2009 曾经在我的一个Delphi开发项目中,我遇到过这样一个问题,困扰了我相当一段时间。 我将SAP对象封装成了类,并在一个线程中调用。也就是说,SAP对象的创建释放全部是通过代码来操作的,不同于直接将SAP控件拖放到窗体上。 线程每执行一次SAP读写操作,内存就增长24K-32K。 关键代码 下面是SAP类的部分关键代码,含有SAP对象的创建和释放。 procedure TSapSvr.Open(FunctionName: string); begin if fConnect.LogOn(0, True) then begin fFunctionName := FunctionName; fFunction := fSapFunctions.Add(FunctionName); end; end; procedure TSapSvr.Close; begin fFunction := Unassigned; fSapFunctions.ReMoveAll(); fConnect.LogOff; end; 我就是在线程中不断的调用Open和Close函数,你能看出问题出在哪里吗?你肯定想不到的。 解决方案 我也是在无意中发现的,不过我现在还不知道原因,告诉你解决的方法吧!那就是将 fSapFunctions.ReMoveAll(); 删除!!! 结束语 你能告诉我原因吗? 附件中我提供了我封装的SAP类,分享给大家,如果发现问题,请转送一份文件给我! 阅读全文
杀死团队的七种武器(转) 四月 26, 2009 不管你是一个团队的成员还是带头人,如果你对它已经厌倦了,恨不得大家早点儿散伙,不妨赶紧捡起来下面这七种武器。好吧,也许你是一片好心, 希望改变团队目前垂垂危矣的状况,病急乱投医,随便捡起一把枪,却没搞懂枪口冲着哪个方向,再加上擦枪走火,自行了断,也不是不可能。有的武器介绍之后,还有使用它的进阶技巧。让其成为项目管理、共同协作、职场发展必备之最佳利器。 如果当初猪八戒扔掉钉耙,而是拿起来这些的话,也许他早就回高老庄,跟高翠兰一起,从此过上快乐、幸福的生活了。 武器一:贸然加入陌生人 团队来了新人,不要介绍他给大家认识,不要让大家知道他的技能和长处。人们会根据他的一些细微行为做出自己的判断,而不是先去深入了解他。 要是新人的兴趣癖好跟大家完全相反,那就再好不过了。 进阶技巧: 把两个死对头加入到一个团队中,而且告诉大家他们的技能对于团队来说很重要。这样一来,他们之间的摩擦就会成为加速团队分裂的催化剂。 武器二:限制沟通 别让大家谈天,这样会增进他们的感情。不断提醒他们“你们还有活要干!”要是能在办公室里面贴上一个“静”,就再好不过。实际上,如果团队分布在不同的地方, 甚至彼此之间的文化背景都不同,效果就更好了。不到迫不得已,绝不要把一个团队的人安排在一起。不要公布通讯录。让人们的惰性发挥效果,如果想找一个人很麻烦,他就不会找了。 进阶技巧: 告诉团队时间紧迫,发邮件也是浪费时间。这样人们就不会发送不必要的信息了。 武器三:分清长幼尊卑 最佳的装备给最棒的人。最快的电脑、最好的办公室、额外的假期等等等等,只给这些精英人物。当人们看到有人可以享受特权时,嫉妒暗自滋生。基督教的七宗罪,“嫉妒”跻身其中。更美妙的是,一旦这种致命武器在团队中出现,不用人浇灌,敌意就会不断蔓延。 武器四:打人要打脸 每个人都有自己的弱点,找到它!把人们的弱点公开出来,并且使其个人化。要指名道姓!在表达方式上也要无所不用其极:羞辱,责怪等等,不一而足。传播方式,可以通过备忘录、邮件、会议上的发言。用红色的大字体可以加强效果。更棒的是,你还可以散布流言。要想让人信服,不妨在流言中加入一些真相,这就更有效啦。。。 进阶技巧 曾经有一个公司的总裁,向全公司发送了一个备忘录,其中责备了软件团队新产品的种种不足。这种做法太牛掰了!这个总裁也就成了公司的杀手,不久之后,公司成功散... 阅读全文
操作系统开发小试-保护模式引导程序(续) 四月 27, 2009 +------------------------------------------------------------+ 操作系统开发小试-保护模式引导程序(续) +------------------------------------------------------------+ + +1.开发语言:ASM(工具:NASM) +2.虚拟环境:Virtual PC +3.应用工具:WinHex Ver11.2 ===================================================== %include "pm.inc" ;%define _BOOT_DEBUG_ %ifdef _BOOT_DEBUG_ org 00100h %else org 07c00h %endif jmp begin_boot ; 跳过其它的数据,跳转到引导程序的开始处 [SECTION .gdt] ;gdt LABEL_DESC_NULL: Descriptor 0, 0, 0 LABEL_DESC_NORMAL: Descriptor 0, 0xFFFF, DA_DRW LABEL_DESC_CODE16: Descriptor 0, 0xFFFF, DA_C LABEL_DESC_CODE32: Descriptor 0, SegCode32Len-1, DA_C + DA_32 LABEL_DESC_DATA: Descriptor 0, DataLen - 1, DA_DRW LABEL_DESC_VIDEO: Descriptor 0xB8000, 0xFFFF, DA_DRW gdtr dw $ - LABEL_DESC_NULL dd 0x00 SelectorNormal equ LABEL_DESC_NORMAL - LABEL_DESC_NULL SelectorCode16 equ LABEL_DESC_CODE16 - LABEL_DESC_NULL SelectorCode32 equ LABEL_DESC_CODE32 - LABEL_DESC_NULL SelectorData equ LABEL_DESC_DATA - LABEL_DESC_NULL SelectorVideo equ LABEL_... 阅读全文
评论
发表评论