Blogs

VC2005 程序的部署问题

上周发布的SQLite Developer2.90,2.91有用户报告无法加载sqlite3.dll。2.90版的sqlite3.dll为了追加ICU的支持,是用VC2005重新编译的,我一开始估计是依赖的DLL不存在,用Dependency walker看了一下,发现VC2005编译后的DLL引入了对MSVCR80.dll的依赖,于是将这个DLL发给了用户,结果还是报告同样的错误。很是困惑不解,于是上google上搜索了一下,才知道从VC2003开始微软为了解决DLL 版本不一致的问题,引入了基于manifest的版本管理,也就是所谓的side by side assembly的依赖管理方式。这就使得DLL和程序的分发部署变得非常复杂,简单的在程序所在目录放置相关的DLL已经不行了。安装程序必须导入一个MSI的安装包。可是我只用了一个DLL,就需要分发额外的MSI安装程序,特别是我的安装程序是用Innosetup写的,导入MSI很麻烦。搜索了半天google,终于发现只要暴力编辑一下编译后的DLL的Manifest资源信息,去掉对于版本的指定就可以了。微软为了解决一个麻烦的问题,导入了一个更加麻烦的问题,真是shit。

 

参考了下面这篇文章

Sony的东西真烂

2005年的时候,公司给配了一个Sony的VAIO的本本,当时是60G的硬盘,这两年用着用着,地方就不太够了,C盘只剩下了1G,这两天跟公司申请了一块120G的硬盘,本来想换上去,结果把所有的螺丝拧下来,发现还是没法把主机壳拆下来,问了Sony的客服,说必须送到维修部门才能换硬盘,估计就是为了挣维护费,才把机器搞得这么难拆。妈的,以后再也不买sony的东西了,去年买的700万像素的Sony 数码相机也是巨烂,还不如我的400万像素的老佳能的效果好。

关于unicode,mbcs,utf8,charset,encoding等相关概念的说明 (转贴)

关于unicode,mbcs,utf8,charset,encoding等相关概念的说明

作者:小猪

发布Antlr For Delphi Target 3.1b2

这两天休息,抽出时间将Antlr For Delphi Target 从3.01同步更新到了3.1b2,已知大的问题是

感兴趣的可以下载例子程序(http://www.sharpplus.com/downloads/AntlrDelphiExamples.zip)

Google Trends

Google Trends最近开始支持查询指定一个网站访问者最经常访问的相关网站。

接口循环引用导致的内存泄漏

接口如果之间循环引用,引用计数总是无法归零,会产生内存泄漏,下面是一个简单的实例,基于GC的Java,不会产生类似的泄漏.
unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm2 = class(TForm)
btn1: TButton;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

IChild=interface
['{ADA8F7F3-AA7D-4D57-8FA8-0FA501458981}']
procedure SetParent(AParent:IInterface);
procedure SetChild(AChild:IInterface);
end;

TChild=class(TInterfacedObject, IChild)

从Tornado1.0移植到2.2

这次做的项目是基于Tornado2.2,原来写的Source是基于1.01的。主要改动是

1.要将NULL改成'¥0'。

2.新的C编译器更加严格,extern声明的变量不能省略类型定义。

 

Antlr 3.1beta1 终于发布了

Antlr3.1 beta1终于发布了,增加了一些新特性,但是我更感兴趣的Bug修正不是很多。接下来的一两个月里面有空会去研究一下。不过很可能没什么时间{#emotions_dlg.tongue_out}

今天为地震灾区的人捐了款

这一周除了忙着工作,就是在网上看地震灾区的消息,每天只睡了4个小时。

今天出差回到家,在香港红十字会的网站上为灾区捐了款,给香港红十字捐,主要是我不太信任国内的红十字会,以及美加的红十字会,

这一次是我一生中第二次捐款,第一次是捐给印尼海啸受难者,可是我当时内心是很不愿意的,因为印尼总是迫害华人。

这一次是发自内心的,希望我的钱能全部送达灾区人的手里,希望做善事能有好报,老天爷能给我个可爱的小宝宝。

用Delphi编写通达信的选股插件

前两天坏人说起编写通达信的选股插件来,说起网上的例子是用VC写的,他已经把C忘得差不多,我正好最近几年都是在做C和VC的开发,所以就把VC的通达信插件例子改写成了Delphi。

附件里面就是我用Delphi改写的插件代码,因为我比较懒,而且Delphi的指针加法用起来比较麻烦,所以MA和Cross两个计算函数我翻译了一半,就懒得翻译,也没测试,不过插件接口部分的已经测试没有问题了,剩下的不是技术问题,而是数学问题了,有兴趣的人自己补完吧。

Syndicate content