2013-01-25

VC6最佳拍档,Platform SDK Feb 2003


很长一段时间内,一直用Platform SDK Server 2003 SP1来搭配VC6进行开发工作。但这个组合其实并不是很合适。这个版本的Platform SDK里面,有一些东西是VC6的CRT已经无法支持的,比如对__time64_t进行操作的那些时间函数。另外在链接到shell32.lib之类的库的时候,也会报错说调试信息的格式已经不匹配了。

最后一个支持VC6的Platform SDK,是Platform SDK Feb 2003,比我之前用的SDK版本要更旧一点。微软官网已经不提供下载了,目前给出的所有链接都是失效的。好在有网友通过独立Blog提供了cab包方式的下载。我把这些cab包中打包的文件提取出来后制作成了ISO光盘镜像,便于刻盘保存,也更方便下载。

以下下载链接来自于Mega网盘。下载无需注册,但国内下载速度不太好说,有快有慢,并且(从Mega的性质看来)随时可能被墙。可以尝试一下ping mega.co.nz,如果ping值高于600ms,建议通过VPN下载(GoAgent对于Mega不顶用),或者另寻它途。
Platform SDK Feb 2003.iso (346.8 MB)

值得一提的是,这个版本的SDK需要你的默认浏览器是IE才行。貌似通过ActiveX控件实现的安装向导,以后的版本没有继续采用,明显是一个失败的设计。

2013-01-16

关于BCB中Package的两点注意事项

BCB通过Package实现了自定义控件的能力,用起来的确很方便。很容易地就可以扩展IDE的能力,设计出更为强大的软件。但在实际使用中也发现有两个值得注意的地方。

1. Runtime packages

如果打上了Build with runtime packages复选框的勾,那么BCB在Link的时候将会把Runtime packages中列出的Package以动态链接的方式Link到Project的输出文件(EXE或DLL等)中。在发行的时候,必须带上这些Package对应的BPL文件,EXE(或DLL)才能正常工作。

Runtime packages是一个分号分隔的Package名列表。没有在列表中的Package,会静态链接到Project输出文件。如果不选择Build with runtime packages,则所有的Package都会静态链接到Project输出文件。这大致相当于在VC中选择Use MFC in a Static Library。

2. Package设置的归属

一直以为BCB的Components->Install Packages里面的内容是个全局的设置。后来才发现原来是属于Project里面的Options之一。准确地说,是其中的Runtime packages部分的设置属于Project。

也就是说,如果在某一个Project中设置了一个Runtime packages列表。那么这个设置只会应用在这个Project的编译结果中。对于别的Project,依然保有并使用各自的设置。

2013-01-07

国内域名快要到期

八年前不懂事,通过国内商注册了域名,而且后来图便宜一下子续费了好多年。于是superliufa.com这个域名一直要到2013年01月10日才到期。当时看来是很久远的事情,不过现在看来大限就快到了。

根据以前过期的域名看来,该国内商有个流氓措施,就是会在域名过期后自己掏钱续费一年,但是收回所有管理权限,让你没法马上转移。不过我不着急呀!我的网站,一不用来挣钱,二不用来炒流量。一年后咱们走着瞧,奸商您要是兜里有俩闲钱咱们就再斗个一年,爷生命线挺长,耗得起。

不过,如此一来,这个架在Blogger上的博客,墙内的朋友很快就要无法访问了。墙外的地址是superliufa.blogspot.com,届时(2013年01月10日后)我将会取消博客上的自定义域名选项,这样首页就不会再跳转到blog.superliufa.com了。要翻墙的赶紧啊!可以参考我的翻墙系列文章(虽然还不多),千万别输在起跑线上哦!