
今天做了个安装包,也算是来个超度吧。做事总得有]始有终。
如果感兴趣,可以在我的goolepage去下载。
今天对CrystalCursor进行了一次小改动。将MouseHook里多余的引用单元去处,将编译出来的文件大小由88K减少到43.5K。修改主程序的Hook机制,去除MouseHook.Dll的引用(MouseHook这个辅助工程以后就不需要了)。
现在的代码中用的是观察者模式通知各个子窗口鼠标位置的改变。但在今天察看代码的时候发现这个机制实在是多余。对于各个子窗口而言,他们根本不需要知道鼠标位置是否改变,他们要的只是能取到当前鼠标的位置。既然是这样,这个观察者模式还有什么用?为什么不直接去取?想了好久也没想明白当初是怎么设计的。看来这又是一个失败的设计。
这次更新改修正了在开启效果后会在资源管理器中现实多个窗口的问题。
PS:
在程序发布后没多久,打开MSN(我习惯从MSN进BLOG)发现有封新邮件。是E文邮件,还夹杂着乱码。仔细一看,是请求翻译成土耳其语的permission。
翻译?我仔细检查后,确信我的软件里只有4个E文单词,而软件介绍信息也就一句话(毕竟是Alpha版嘛)。这样都要翻译,看来我是否要加个多国语言支持了啊,。
虽然有些意外,但还是挺高兴的,有人关注总归是好事。
2022年1月13日更新:已经过去了很多年,还是不时会有人通过戏说乾隆的关键词找到这个页面,只是这里的链接早就失效了。今天把文件重新上传了,大家可以在这里下载。
《戏说乾隆》很喜欢的一部电视剧。 喜欢这么一个相忘于江湖的故事。也许这世间没有永恒,所以需要靠遗憾来作为永恒的牵挂。
里面的台词写得很考究,有些古味却不做作。曾找过这部戏的台词,未果,于是还对着电脑,手动抄录过部分台词。最近在网上看到了第一部的全台词,是一个叫玉尘的网友做的(不知道还会不会出下两部的)。我将他写的台词整理了一下做了个PDF版本的。大家可以到我的googlePage里去下载。 随便贴点我喜欢的。第一部,第二部的都贴点。不三宿桑下这一段。第三部还是算了,我没看全过。我不太喜欢第三部,但这部戏正是有了第三部才算完整。
//---------------第一部_江南除霸---------------//
程淮秀:“唉!啊!四爷。”
四爷:“呵呵呵…”
程淮秀:“何苦再来找我呢?”
四爷:“春喜这丫头,果然探出你在这儿!一个人来,是躲着我吗?”
程淮秀:“哦,躲我自己。”
四爷:“来这儿做些什么呢?”
程淮秀:“可以坐,可以想,可以跟自己相对。”
四爷:“旱湖之约,新的感触?”
程淮秀:“呃呵,因果倒也不止一端!”
四爷:“淮秀,你后悔吗?”
程淮秀:“不后悔!”
四爷:“喜欢吗?”
程淮秀:“不喜欢!”
四爷:“你是……”
程淮秀:“不想再提了!”
四爷:“我们…再去…也许…可以透彻的谈一谈。”
程淮秀:“佛祖在传道的时候,曾经不三宿桑下。”
四爷:“不三宿桑下!不三宿桑下!他是佛祖!他传佛啊!”
程淮秀:“我传盐!”
程淮秀:“我发过重誓身献盐帮。富贵贫贱,危难生死不离盐帮。”
四爷:“唉,但是你从来没有说过一生不嫁人哪!”
程淮秀:“大家跟着我,我跟着大家!兄弟之情,犹如咸盐,烈日之下晒出来,煎熬之中煮出来!嫁不嫁人并不重要。”
四爷:“你是把我当做外人?!其实不外,我是不好说,如果你知道我姓什么,叫什么,做什么,人家称呼我什么…”
程淮秀:“四爷,不说也罢!在旱湖,我曾经想问过,眼前这个四爷,他叫什么呢?岔过去,现在你不说,我就连是不是桑树我都不知道,这不更好吗?”
四爷:“你是帮主,不是尼姑啊!”
程淮秀:“入帮,出家,要的是一种心境。”
四爷:“你在江南,我在塞北,我很在意!我们能够在小狼沟无意中结缘,今天又能够在这相遇,说是缘并不错,况且你刚才也说过,因果不止一端!也许是前世的因,今世的果啊!”
程淮秀:“四爷,在旱湖,我们没有酒,但是我们连翻的酒话,这古刹是我清修的地方,我们又续起前缘来了。海阔纵鱼跃,天空任鸟飞。四爷,您是个潇洒的人…”
四爷:潇洒的人?千万百计地要见你,想做件不潇洒的事,我要将我母亲传给我的一样东西,转送给你。淮秀,惊扰之处,你能海涵。我走了!”
//---------------第二部_西滇风云---------------//
四爷:“你不想说的事,说说看!”
沈芳:“我不想说的事?什么啊?”
四爷:“在房里你说,你是人,是女人,情,你想过。”
沈芳:“呃…呵”
沈芳:“太监到我们家宣召赐死,我看见的不光是冤屈,愤恨跟生离死别,我看见了我的父母,他们夫妻之间最深沉,最痛彻肺腑的不舍。我父母,十来岁就结为夫妇,几十年肩叠情深,在面临死别的时候,没有一句话,也没有动作。你,偶尔看我一眼,我,偶尔看你一眼。眼泪算什么!他们夫妻心里暗暗淌得,是血,是情血。第二天,我母亲去世了,跟着父亲走了。不过我想,母亲是很平静,是满怀希望走的。”
四爷:“希望?”
沈芳:“嗯!希望在另一个天地里,与他的丈夫相遇,重续旧缘,重温旧情。从那个时候起,我才知道,这世间伤人最深最重的竟然是情缘!我是人,是女人,我想过情。可是我怕,我两次躲你,都因为我怕。”
四爷:“我懂!”
沈芳:“佛陀传教的时候,不在同一棵桑树底下连宿三次。”
四爷:“不三宿桑下!”
沈芳:“对,不三宿桑下!佛陀尚且怕情缘,人能不怕吗?”
四爷:“人…恐怕,谁也没有那个定性,那个慧根,永绝情缘。有缘则遇,有情则聚,生死别离,也许是小事。”
沈芳:“哦!”
四爷:“佛教有个故事说,人去喂鸟,那只鸟永远吃不饱吃不够,后来喂鸟的人把自己的身躯也喂给了鸟吃。情缘是鸟,人喂它,是不计其它的,甚至身躯性命。”
在对crystal-cursor进行修改的时候遇到了一些问题。首先就是delphi的接口。虽说delphi中的接口是自行管理对象的生命周期,但在有些情况下似乎并不是那么灵光。在crystal-cursor中我采用观察者模式来将鼠标位置的变化情况通知各个子窗口。理论上只要我将子窗口从观察者列表中移除,窗口就该释放,但事实并不是如此。关于这个问题,在网上有见到相关的介绍《接口小论》。
为了让子窗口交替出现,我需要让一个子窗口建立后先sleep在进行下一个窗口的创建,但sleep会导致主线程的阻塞,无法达到预期效果。于是我增加了一个NoBreakSleep函数。这个函数虽然简单,但效果似乎还不算太烂。
procedure NoBreakSleep(aInterval: Integer);
var
StartTime: TDateTime;
begin
StartTime := Now;
while ((now-StartTime)*24.0*60.0*60.0*1000.0) < aInterval do
begin
Sleep(1);
Application.ProcessMessages;
end;
end;
PS:
发现真是自己的RPWT。刚才一直都是用WinSCP登陆。用WinSCP登陆是更新web站点用的。发布文件直接用FTP上去就可以了。真是太大意了。
发布文件已经更新上去了,大家可以到我的项目站点去看看crystal-cursor。