为了玩OPC,必须在机器上让DCOM跑起来。使用dcomcnfg这个工具配置DCOM时,发现一选择“COM+应用程序”这个组就会出现一个错误,查看事件查看器,发现了这样一个错误信息: 运行时环境检测到其内部状态存在不一致。这说明进程中存在潜在的不稳定性,可能是由于 COM+ 应用程序中运行自定义组件、COM+应用程序使用的组件或其他因素引起的。Error in d:\qxp_slp\com\com1x\src\comsvcs\txprop\dtcinfo.cpp(158), hr = 8000ffff: TransactionManager->GetWhereaboutsSize 有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
一头雾水。不过微软的出错信息就是天书,否则要个那么大型的MSDN做什么?还好,有Google,搜了一下“qxp_slp”,发现了微软自己的一篇文章。大概是说,安装了一个微软的补丁MS05-051后,%windir%\registration目录的权限会出现问题,会导致COM+出现很多问题,其中一个会提示上面这个信息。按照微软的指示,更改了权限后,发现结果还是一样。“COM+应用程序”照样出错。后来醒目一点,把事件查看器里面的打叉的记录一条一条调出来看,发现了一个问题: 正在运行 MS DTC 服务的帐户无效。 如果使用 Microsoft Management Console (MMC)中的“服务”管理单元更改了服务帐户信息,就会发生这种情况。 MS DTC 服务将继续启动。请确认使用“组件服务管理器”更新了 MS DTC 服务帐户信息。有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
发现这条出错信息之后,才会不断地出现第一条出错信息,看了这是罪魁祸首。同样的,不知道它在说什么。还好,又google了一下,又在微软那里查到了解决办法。在强行为MS DTC服务创建了NT AUTHORITY\NetworkService登录用户后,一切正常。
其实是CodeGear带着原Borland的IDE回来了。CodeGear是Borland没卖成IDE之后,把IDE分拆出来成立的新公司。说Borland回来是因为Borland这个名字太响了,是程序员们的Heavenly Jerusalem。在猛禽那里看到《在TCX中使用SQLite3》,才知道CodeGear重新启用了Borland的Turbo商标,推出了Turbo系列的开发工具,其中有我最喜欢的Turbo C++ Builder 2006,分Professional和Explorer两个版本,Explorer是免费的,除了不能使用第三方VCL控件外,没有什么限制,基本和C++ Builder 2006一样。我还特地看了一下它的License,发现可以用于商业软件开发。我毫不犹豫地下了一个试用,装了一大堆.Net的支持,终于看到了熟悉而陌生的界面了。把一个7年前用C++ Builder 4.0做的多线程+数据库+串口通讯的程序放进去编译,发现大概需要改动一两处代码,主要是一些定义的小改动,程序基本就可以编译通过并跑起来,简直太棒了,就象一个多年不见的感情很好的情人又回到身边一样,往事又历历在目。
当年第一个C的开发环境就是Turbo C 2.0,后来用了Turbo Pascal 5.5和6.0,再后来是Turbo C++ 3.0。Delphi 1.0 16位版让我在Windows 3.1上见识了Visual的开发。当然,之后为了工作需要,开始使用Power Builder 5.0和6.0,再后来又因为需要开发多线程应用,使用了C++ Builder 4.0,感受到了VCL的魅力,BCB虽然用了Pascal写成的VCL库,影响了它的编译速度,但也继承了Delphi的稳定性,对于Windows的线程也做了很好的封装,而且可以直接调用Windows的API,所以当时写成的程序是可以在Windows NT上连续不间断运行几个月不当机的。以至于后来还是工作需要,使用VC++ 6.0的时候,我大骂了一声:“这也敢称自己Visual”。后来由于Borland的犹豫不决,好多人离它而去了。而且开源运动蓬勃发展,自己的工作也转向了Unix领域,就开始用vi和gcc了。对于Windows下的本地开发,一直也有关注,但始终找不到一个好的方案,受开源影响,始终很想找一个免费的开发方案。Cygwin和MinGW的效率太差,而且没有好的窗体库和它们配合,用MinGW编译wxWidgets简直是恶梦。微软的免费VC++ Express 2005实在太差。所以,CodeGear的免费工具来得实在太及时了。而且从CodeGear最近的动作来看,Borland IDE的复兴开始了,一个接着一个的惊喜,从Delphi For PHP,到宣布要推出Delphi For Ruby on Rails。我决定重投Borland的怀抱,毕竟一个免费的强健的可视化开发工具太吸引人了。
相关链接:
2013/05/05更新 Codegear最终还是被Embarcadero Technologies收购了,Embarcadero放弃了免费的策略。Turbo C++ Explorer没有了。最近开始推iOS上的Delphi开发工具。最后结果如何,拭目以待。
今天好多网站上都在说“微软主管声称自由软件运动已死”(英文):
前IBM员工现微软首席平台战略主管,微软Linux实验室负责人Bill Hilf狂言宣称要剥开围绕在开源软件周围的神话。“自由软件运动正走向死亡,Linux在2007年不再存在,你看就连Linus都有一个工作。” Linux kernel是由全职雇员维护的,拥有优先认股权。大部分人在IBM,Oracle,RedHat等商业公司工作。这意味着什么?这说明Linux在2007年不再存在(我觉得他疯了)。世界上没有什么免费软件运动。如果说Linux代表了爱,和平和和谐,这是错误的,再说一遍没有自由软件运动,这都是商业行为。是由大的商业公司如IBM和小的商业公司如Ubuntu组成的。Hilf表示微软对开源感兴趣也是出于商业原因,不是什么伟大的利他性、爱或是营销手段。
微软又在做它的FUD(Fear, Uncerntainty and Doubt)战略了。这次采用的是偷梁换柱的手法。首先,Linux不是开源的全部,作为开源操作系统,FreeBSD早就解决了源代码和Unix专利的授权问题。Linux其实应该叫GNU-Linux,除了核心之外,其余的部分,从编译器到系统库(GLIBC)大量采用GNU的东西。GNU是GNU is Not Unix的缩写,是Richard Stallman在多年前,看不惯大公司垄断操作系统而建立的项目,所有的东西几乎都是从头写起,全部开源,而且都是基于GPL,目的就是为了这些源代码不至于给某些公司封闭起来,而是大家可以共享所有人的成果,真正的人人为我,我为人人。所以GNU才是开源运动的发源地。开源运动的结果是推动了信息产业的快速向前发展。问问现在多少人在用GCC就可以了。所以,即使Linux商业化了,我们仍然有其他选择,可以用FreeBSD,可以用各种其他的开源操作系统,GNU甚至有自己的内核叫Hurd。更何况在众多Linux的商业发行版之外,还有一个完全遵循GNU方式的发行版Debian。
其次,Linus Torvalds也不是开源运动的领袖。真正的领袖是Richard Stallman。他,总是“风尘仆仆,行囊相随,四处布道。他带着一台笔记本电脑,但这不是他个人的,而是属于自由软件基金(FSF)。其实,Richard Stallman 从来就没有拥有过一台自己的计算机。也从来只用自由软件(当然他从来没有用过Windows)。而且,他也没有自己的汽车、电视和房产。这位46岁的单身汉节俭地居住在一间租来的房子里。已有15年了,没有领取过一个月的正式工资。因为他的工作就是使软件获得自由。”
所以,微软应该去看看Sourceforge和Freshmeat上有多少开源项目,有多少人在使用开源项目,再来说自由软件有没有死。
从我自己的例子再来说明,自由软件运动为什么不会死。微软曾经有一段时间免费提供VC++ Express 2005下载,我庆幸了很久,微软也终于肯把编译器免费提供了。实际上发现我错了,微软花了一年时间也没解决“updating intellisense… ”的问题,最后问题解决了,却发现最终解决问题的补丁没法下载,一定要订阅MSDN才可以拿到。这就是Richard Stallman说的不“自由”,要么我选择不用微软的产品,要么就要忍受这种非常不公平的待遇。相反,我在一个项目里面用了开源的产品,结果发现它在处理中文时候有问题,我马上浏览源代码,很快就发现了问题所在,我一方面将修改发给了项目的开发团队,他们承诺会在下一个版本纠正,另外一方面,我自己修改了源代码,更正错误,我的软件马上就可以正常工作了,所以这样才是使用软件的“自由”。
我相信微软还是可以继续强大很久,我也承认微软产品的易用程度、功能、普及程度远远高于自由软件。但是自由软件运动不会死,而且会继续扮演着非常重要的角色,而且将会有更多的人参与到里面来。
人生像条大河,可能风景清丽,更可能惊涛骇浪。你需要的伴侣,最好是那能够和你并肩立在船头,浅斟低唱两岸风光,同时更能在惊涛骇浪中紧紧握住你的手不放的人。换句话说,最好她本身不是你必须应付的惊涛骇浪。
第一次听这句话,是在香港商台叱咤903的午夜节目《绝情谷》听到的,倪震和谷祖琳主持的,专门讲两性之间问题的,它比国内节目高明的地方在于,它承认人性的弱点。比如有个人打电话进去倾诉他有外遇,他们绝对不会象万峰那样,把人家骂个狗血淋头。这句话是出自《苹果日报》登出的龙应台给她儿子的信《阳光照耀你的路》里面的。印象中,《苹果日报》是很八卦的,突然间才发现它也有严肃的一面。我从那时候起也开始读龙应台的文章,发现她和儿子的通信尤其精彩。如果年轻一点的时候,读了这些文章,可能可以少走一些弯路。
LXD同学,才子,一个脱离了低级趣味的人,《涸溪相亲记》的作者,开博了:http://blog.sina.com.cn/lxdcgdcz/。欢迎观看。
Love, responsibility, knowing who you are and taking your place in the
circle of life.爱、责任、自我理解并在生命的圆圈中找到自己的位置。
这是《狮子王》原声卡带的小册子的第一页的文字,很漂亮的一本小册子。只是我最喜欢的动画片之一,音乐一流,画面一流,讲了一个很好的故事。
这句话讲出了一生中每个人应该做的几件事情。首先是爱,爱家人、爱情人、爱周围的人、爱生命,甚至爱动物、爱大自然等等。责任,承担对各种各样的人所应该有的责任。最重要是后面两点,知道自己是谁和找到自己的位置。后面这两点好多人活了一生都做不到的,有点悲哀。