Dec 8

大哥的女儿要来读高中,需要我填写一张custodian declaration表格,即同意由我代理监护人.

这张表的填写很简单,不外乎写上学生的名字和报名学校,父母的名字住址,我的名字住址,各人的联系方式等等.最后一栏有一个signature of notary,我第一次见到这个不知是什么,就打电话去EPSB问,工作人员告诉我说这就是公证人的签字处,一般来说只有2类人可以签这个字,一种是律师,另一种是职业公证人,找public notary即可.

我认识些个律师,但是联系人家也挺费事,不如就花点银子找个公证人吧.放狗一搜,果然有不少,不过报价千差万别,还好我找到一个离公司比较近又不是太贵的,赞一下运气先.

这天中午吃了饭就直奔而去,一看那OFFICE真不怎么样,不过也难怪,要是在DOWNTOWN高楼里的话,当然收费就会很高啦.能办事就好.

见了那位胖胖的玫瑰女士(名叫ROSE),原以为就是她签个字而已,可是人家办事还很认真,从头到尾读了一遍,就问我要PROOF证明自己是加拿大公民,晕,我没想到这个,护照没带.不过,这不是什么大不了的单子,所以就通融了一下,反正我是当面确认SWEAR了的,所以她也就放了我一马.

确认了纸面上所有的内容,她签好字,又拿出印章敲上,再拿出钢印砸上,呵呵.原来我还想只有一个空格让写signature of notary不是随便什么人都可以写么,原来还需要这么多印啊章的,难怪不怕作假了.

结束以后又复印了一份留底,不过钢印是复印不下来了.

晚上去邮局寄快递,又晕了一把,从加拿大寄到中国,平信的话只要几块钱,但是要走2个多月,挂号寄再加10多块,不能加快速度,要快一点的话只能寄快递,价格从60多到100多,而且差不多都要9个工作日左右.好贵啊,不知走UPS或者FEDEX会不会反而便宜些,不过时间太晚,已经改不了了,算了,就CANADAPOST吧.用了个大信封寄了出去.加拿大的服务,真是...

Nov 25

老鼠! 不指定

kcao , 10:08 , 杂谈 , 评论(1) , 引用(0) , 阅读(5536) , Via 本站原创

小时候在苏州,住的老房子,附近老鼠多得很.所以家里要养猫,据说养了猫以后,老鼠闻到猫的味道就会离开.不过老房子造得不密封,屋后又是小河,老鼠跑来跑去方便得很,所以从来没有真正的杜绝过老鼠进屋.

后来搬到了楼房里住,老鼠只在楼下的垃圾箱附近出没,也可能会跑到一楼的人家.虽然有传说老鼠会沿着下水道跑到楼上来,但是从来也没有见过.

来到加拿大后,很长一段时间没见过老鼠.后来买了房子才第一次发现老鼠,过程也很戏剧性.那是在一个大冬天,约莫有-20来度,我去车库扔垃圾,结果在大垃圾筒的底下发现了一团黑影,车库里比较暗,看不清是什么东西,用棍子拨弄一下硬梆梆的也没动静,我回屋去拿了手电一照,好家伙,居然是只老鼠!这是只田鼠,体型很小,不连尾巴大约长4厘米.这可怜的小东西不知什么时候掉进了垃圾筒,而且掉进去时垃圾筒是空的,那是个77升的垃圾筒,它根本爬不出来.在-20多度的冬天,车库里也至少有个-10度吧,没多久就冻成个冰块了.所以我发现的是个冰老鼠.

后来在后院开辟了一块菜地兼花园,但是郁金香的花芽总是被啃掉,还有一些种下去的菜籽菜苗也会莫名失踪,因为我们那儿常常可以看到野兔在小区里东跑西窜的,所以开始以为是兔子干的,也没有办法.后来很偶然地发现了老鼠的身影,这才知道原来是老鼠吃的.再回头想想的确,每次失踪的植物都很少,要是兔子的话应该没那么客气.院子里的老鼠很讨厌,不光吃花吃菜,连院子里的草也不放过的.要是不管的话,院子里的草皮就会变成一块块的癞痢头,难看得很.

灭鼠运动由此就轰轰烈烈地展开了.

先去店里买了老鼠夹,粘老鼠的板,因为老鼠喜欢走墙角的,所以这些东西得放在院子的角落里.不过很可惜,过了1,2个星期,一点用都没有,老鼠根本不上钩.那就得再想别的办法.

一天我又在菜地里发现老鼠了,一路追赶,发现它钻到了工具箱下面.晕,原来它把我的工具箱下面当成栖息地了.把工具箱推开一看,好家伙,有2只老鼠躲着,是一窝啊.再看旁边,都是被它啃下来的干草,是一个不错的小窝,看来真打算在这里过一辈子了.那可不能答应.再看那老鼠时,已经从篱笆下面的缝钻到了邻居家,正回头看我呢.这算不算挑衅?知道我没法去邻居家抓它是不?

抓不到我也有办法对付它,为了LP的菜地,我花大血本了.一转身去RONA买了好多卷12厘米宽的铝皮,这一般是用在屋顶用接缝处的防水层的,我把它展开,沿着篱笆一路钉过去,把我的院子彻底和邻居家隔开来.所有的接缝处都钉上了,花了我好几百$,心疼心疼...不过效果还是不错的,一直到离开这套房子,院子里再也没见到过老鼠.

买了现在这套房子,又要考虑种菜的事了.种菜未动,土壤先行.一日与朋友商讨COMPOST的事时,她说起我们以前用的COMPOST BIN她邻居也在用,但是会招老鼠,她已经在她院子里抓到过好几只了.我笑说我们院子里好象没见到有过老鼠呢.后来天冷下来,COMPOST和种菜的事也就暂搁一边了.

一天正与LP在说话,没注意眼往卫生间一瞟时,我顿时呆住了,只见卫生间里干衣机与墙的间隔处,赫然一根老鼠尾巴在摇动!

OMG!家里有老鼠!

我思量再三,想想要灭鼠无论如何也会让LP知道的,所以不如现在告诉她吧,果然老鼠是女人的天敌,LP一听我说完马上就抓狂了,要我立刻想办法.

这老鼠不知是什么时候进屋的.我先挪开干衣机查看了它的出风口,好沉的家伙啊.不过出风口没有破损,所以它没有问题,再用手电看看洗衣机的背面,洗衣机的排水管是通到地下室的,就在这连到地下室的开口处,有个小脑袋在探头探脑,贼亮的小眼睛正在看着我.呵呵,原来这儿就是它上上下下的通道啊.于是我来到地下室,用泡沫塑料堵住了排水管旁边的小缝.其实这缝也只有1厘米宽不到,不过这已经足够让这小东西来来去去的了.

堵好缝以后我再回到卫生间,挪开洗衣机,看了看卫生间里没有其他可以让老鼠躲着的窟窿.因此老鼠应该是被堵在地下室了.不过,地下室那么大,要抓住这个小东西也不容易.

回头再看通向地下室的那扇门,门下的缝有1厘米宽,那够2只老鼠叠着罗汉进出的,于是在门后面粘上一块泡沫塑料把缝堵上,我可不想让老鼠再跑上跑下了.在逮住它之前,就呆在地下室吧.

过了一阵,我打开地下室的门,呵呵,竟然看到这老鼠在楼梯上呆呆地看着楼上,它真是想从楼梯上来啊.不行,我得尽快解决它,不然LP连地下室都不敢去.

不过这老鼠胆子挺大的,它不是很怕人.

我在楼梯上洒了一点饼干屑,看看它吃不吃,要是吃的话就好办,说明这是只傻老鼠.

过了半小时再开门一看,饼干屑没有了,嗯,真的,加拿大老鼠是比较傻,这下好办了.

去HOMEDEPOT买抓老鼠的家伙.看了看,不外乎老鼠夹粘鼠纸什么的.这里没有卖小时候苏州看到的铁丝老鼠笼,我想应该是这里很少有RAT那种大老鼠,都是小老鼠很容易从铁丝缝里钻出去吧.

我不想要老鼠夹,万一给夹得血肉横飞的就太恶心了.于是买了个诱鼠盒.

这个东西很简单,也很巧妙,它的下面有一道横梁,使这个盒子能象跷跷板一样摇动,把盖子打开时,它是倒向头部的,把诱饵放在盒子底部,让老鼠走过去时,盒子就会倒向底部,一但盒子倒过去,盖子就会自己盖上,把老鼠关在里面.老鼠在里面怎么折腾盖子也不会打开.那个黄色的小塑料片是个门锁,以防止我们挪动这盒子时不小心打开盖子.

用这个盒子,很容易就抓住了那只傻老鼠,原想把它直接放外面冻死算了,LP善心大发,说等第二天上班时扔到垃圾箱边吧,这样能不能活下去看它自己的造化.

第二天上班,到了公司我停好车就把那老鼠扔在了垃圾箱边,也不知它是死是活.一切听天由命了.

明年开春就要进行菜地工程了,加拿大的田鼠不少,不知明年又要进行如何的斗争.

Tags: ,
Nov 19

这个BUG是老早就存在的,在我刚来公司没多久的时候,JACK就跟我说起过这个问题,这个问题的症状很奇怪,正常使用时,它永远不会出现,而当用户把屏幕锁定以后再过若干时间,就会有一长串的弹出窗口,更怪的是,这些窗口有时有,有时没有.

 

同事最近老是遇上这个问题,要我一定得想想办法,凑了点时间仔细查看了这个问题,发现如下的细节:

  • 这个错误出现的前提是: 1. 屏幕锁定, 2. 屏保出现
  • 程序的窗口需要是当前窗口,如果仅在后台运行,这个错误不会出现
  • 即使是在当前窗口,这个错误也不是每次都会出现,似乎与当前子窗口有关
  • 即使是相同子窗口,这个错误也是有时出现,有时不出现
  • 根据经验判断应该是定时器中出现的问题
  • 这个错误其实包括2个, 1. "A call to an OS function failed.", 2. "Access denied" 错误

由于这个错误只在屏幕锁定且有屏保时出现,我先把计算机的屏保设定为1分钟,以减少浪费的时间,然后用DELPHI打开工程进入DEBUG模式启动程序,再锁上屏幕等屏保出现.如果有效,那么出错时DELPHI应该截获这个出错信息并停留在那里.

1分钟以后,输入密码重新进入桌面,果然,DELPHI报错了,可是,错误的地方不是我的程序,而是进入了Forms.pas这个系统单元,在function TApplication.ProcessMessage这个函数中,停留在这句 TranslateMessage(Msg); 上.

按F8进行DEBUG,进入了ExtCtrls这个系统单元,原来是这里出的错,上面的函数是在 Application.HandleException(Self); 这里调用到的.继续F8,我的程序跳出了错误框,然后就结束了.没有找到哪里出错.不过,这也验证了的确是定时器的问题,但是,是哪个定时器呢?

我把主界面及子窗口中的所有定时器全部关闭,可是这个错误还是照常出现.奇怪了.

procedure TTimer.WndProc的定义如下:

Copy Code To Clipboard
  1. procedure TTimer.WndProc(var Msg: TMessage);
  2. begin
  3. with Msg do
  4. if Msg = WM_TIMER then
  5. try
  6. Timer;
  7. except
  8. Application.HandleException(Self);
  9. end
  10. else
  11. Result := DefWindowProc(FWindowHandle, Msg, wParam, lParam);
  12. end;

我把断点设在第6行 Timer上,用F7不断进行跟踪,跳转了几次后,发现进入了一个自定义的控件单元,有戏!

进入的函数是OnHintTimer. 看,这就是一个隐藏的TIMER不是.我在这个函数的开始加个EXIT使之禁用,再运行程序,锁屏,等屏保,再进入.果然没有错误了!看来问题就是在这儿.

程序函数中出错的地方居然是取鼠标位置的几句,很奇怪会出这样的错误.我又试了一下,恢复原来的代码,使当前窗口是此程序,如果把鼠标移到此程序窗口之外,再锁屏,等屏保,解锁再进入,果然就是没有错误的.

再次尝试,把出错的一段句子加上try...except....语句.在except中加上Mouse.CursorPos.x,结果...居然就没有错,晕死.

总结一下这个错误:当打开此程序,并激活某个使用特定控件的窗口,使此控件的OnHintTimer可用,并且鼠标指针在此控件上,能引发OnHintTimer事件.在这种情况下,锁定屏幕,使计算机进入屏保(如果不锁屏,只进入屏保也不会引发这个错误),然后再解除屏幕锁定,就会在此控件的OnHintTimer事件中发生错误,而发生的错误是在获得鼠标位置的语句.错误为"A call to an OS function failed.",由系统抛出.

老实说,这个错误非常奇怪,因为在OnHintTimer中只是获得鼠标位置,我甚至已经把此事件中的语句删得仅剩一句
x :=Mouse.CursorPos.x;
了.也还是一样的错误.到底为什么,还是一个谜,我会继续追踪下去.

无论如何,这个错误是找到了,要解决的话,只要在OnHintTimer事件中套上try...except...end语句,那么就不会出现那些烦人的错误框了.

Tags: , , , , , , , , , ,
Nov 17

后院木工房 不指定

kcao , 12:08 , 杂谈 , 评论(0) , 引用(0) , 阅读(1330) , Via 本站原创

新搞了一个关于后院木工干活的网站,大家有空去捧捧场哈

http://www.diygardenprojects.com

 

Tags: , , ,
Nov 17

在GOOGLE申请自定义搜索,会转到GOOGLE的页面,现在想直接在自己站内显示搜索结果,临时再学习了一下PHP,(郁闷,学完就忘,做点什么都得从头学...)

1. 首先要去GOOGLE获取搜索代码,上GOOGLE注册不说,获得搜索代码如下:

XML/HTML Code Copy Code To Clipboard
  1.   <form action="http://www.kycis.com/blog/search.php" id="cse-search-box">
        <div>
       <input type="hidden" name="cx" value="partner-pub-7375666131479943:3385946271" />
       <input type="hidden" name="cof" value="FORID:10" />
       <input type="hidden" name="ie" value="UTF-8" />
       <input type="text" name="q" size="55" />
       <input type="submit" name="sa" value="&#x641c;&#x7d22;" />
        </div>
      </form>
      <script type="text/javascript" src="http://www.google.ca/coop/cse/brand?form=cse-search-box&amp;lang=zh-Hans"></script>

2. 打开 \blog\inc\mod_basic.php文件,在文件的最后,有定义$searchbox的地方,把它改为你修改过的GOOGLE搜索代码.这样就能在侧栏里使用GOOGLE自定义搜索了.这里注意以上代码的<input type="text" name="q" size="55" />这一行,把SIZE改小一点以适应你的页面.

3. 在 \blog\inc 目录中新建一个mod_search.php文件,内容如下:

PHP Code Copy Code To Clipboard
  1. <?PHP   
  2.   
  3. if (!defined('VALIDREQUEST')) die ('Access Denied.');   
  4.   
  5. $result.=<<<eot   
  6. <div id="mainWrapper">   
  7.     <div id="content" class="content">   
  8.         <div id="innerContent">   
  9.                    
  10.         <form action="http://www.kycis.com/blog/search.php" id="cse-search-box">   
  11.           <div>   
  12.             <input type="hidden" name="cx" value="partner-pub-7375666131479943:3385946271" />   
  13.             <input type="hidden" name="cof" value="FORID:10" />   
  14.             <input type="hidden" name="ie" value="UTF-8" />   
  15.             <input type="text" name="q" size="120" />   
  16.             <input type="submit" name="sa" value="搜索" />   
  17.           </div>   
  18.         </form>   
  19.         <script type="text/javascript" src="http://www.google.ca/coop/cse/brand?form=cse-search-box&lang=zh-Hans"></script>   
  20.   
  21.            
  22.         <div id="cse-search-results"></div>   
  23.         <script type="text/javascript">   
  24.           var googleSearchIframeName = "cse-search-results";   
  25.           var googleSearchFormName = "cse-search-box";   
  26.           var googleSearchFrameWidth = 800;   
  27.           var googleSearchDomain = "www.google.ca";   
  28.           var googleSearchPath = "/cse";   
  29.         </script>   
  30.         <script type="text/javascript" src="http://www.google.com/afsonline/show_afs_search.js"></script>   
  31.   
  32.   
  33.            
  34.         </div>   
  35.     </div>   
  36. </div>   
  37. eot;   
  38. $bodymenu=$result;  

4. 在 \blog目录中新建一个search.php文件,内容如下:

PHP Code Copy Code To Clipboard
  1. <?PHP   
  2. $act='search';   
  3. define ('whereAmI''search');   
  4. require ("index.php");   
  5. ?>  

现在好了,GOOGLE自定义搜索已经可以用了,而且结果是在自己页面内显示.不过,怎么没结果显示出来呢?别急,刚申请了GOOGLE自定义站内搜索,站内的结果还没有完全被GOOGLE收录,所以等个一两天再来看结果吧.

分页: 19/33 第一页 上页 14 15 16 17 18 19 20 21 22 23 下页 最后页 [ 显示模式: 摘要 | 列表 ]