2010年4月30日 星期五

報表使用滑鼠滾輪就會發生問題-PowerBuilder6.5

好吧,我承認我是老古董
powerbuilder 6.5的開發工具我還是在使用的.....
<<題外話結束>>

如果你設計的報表在遇到滑鼠滾輪滾動時就會出現『Sybase Inc. Product File發生問題,必須關閉,僅此致歉。』的訊息

請注意兩件事:
一、DataWindow中的Detail Band 高度被設為 0。
二、PBVM60.DLL有問題

解決方式:
一、不要故意設計Detail Band高度為0的報表(我知道有時候這樣設計統計表比較方便)。
二、在datawindow視窗物件事件上禁止滑鼠滾輪動作。但如果遇到報表比較長的就很麻煩。
三、更新pbvm60.dll ,如果你要問我哪裡找,我想可能很難吧,畢竟都是骨董級軟體。

目前我還是有保留,需要的人可以留言給我向我索取,不過不確定100%可用於你的PB6版本。
如果想用盡只滑鼠滾輪的方式處理可以參考另外一篇『如何在datawindow中禁止使用者使用滑鼠滾輪』。

如何在datawindow中禁止使用者使用滑鼠滾輪

這不算太難,只要懂點MSDN的人大概都能明白吧

Datawindow視窗物件上的兩個事件都可以用,擇一即可

一、寫在 OTHER EVENT

CONSTANT integer WM_MOUSEWHEEL = 522

if message.number = WM_MOUSEWHEEL then
   message.processed = True
   message.returnvalue = 1
end if


二、新增事件ue_syscommand 並繼承pbm_syscommand

CONSTANT integer WM_MOUSEWHEEL = 522

if CommandType = WM_MOUSEWHEEL then
   message.processed = True
   message.returnvalue = 1
end if


用的原理就是利用截取WINDOWS API 的事件訊息,並由PB物件的事件規則去決定返回值,當API收到指定的值,就會發生對應動作。

2010年4月7日 星期三

真假慈悲?

現在的人都很慈悲為懷。

但是卻不是每個人都能了解慈悲的意義。
讓我說個故事吧:

從小,我就跟爺爺奶奶住一起,我們家是傳統的務農人家,
爺爺每天的工作就是耕鋤,早上5點就起床稻田裡去工作,
我們小孩則是6點起床、7點上學、下午4點半回家。