「REF」在 CS版正常,轉換成網絡版過程中不報錯,但運行時會整句失效:
- 2月 26 週三 202517:15
PowerBuilder (63) – 網絡版小問題 – ref
- 1月 05 週四 202317:49
Powerbuilder (62) – 網絡版小問題 - EditMask
PB2019 經 Appeon 轉成網絡版,EditMask:
Mask: yyyy-mm
MaskDataType: datemask!
Mask: yyyy-mm
MaskDataType: datemask!
- 11月 10 週四 202208:00
PowerBuilder (61) - 如何 debug?

PB 有 Debug 功能,它讓你可以看着系統一句一句的執行,也能看到每個變量的值,有助程序猿檢查問題,找到報錯的位置。
在Debug 前要先定位,在最接近報錯點的位置插入breakpoint:
- 11月 03 週四 202207:00
PowerBuilder (60) - 如何設定單雙行背景色?

單雙行不同背景色能令數據看起來更清晰,如何做到呢?
建個如下的 function(), window 或 datawindow 的祖先中加入執行的代碼,最好還加個開關,需要時執行一下就可以了。至於 rgb 值,放到數據庫或 ini 就可以了。
- 10月 27 週四 202208:00
PowerBuilder (59) – 網上版報列名無效 - 單雙引號
剛把一個 CS 系統署部成網上版,報了個陌生的錯,記錄一下。
以下寫法不管在 PB9, PB12,還是 PB2019,在 CS 環境下都能正常運行,但經 Appeon 部署成網上版就會報「列名 PIG 無效」:
以下寫法不管在 PB9, PB12,還是 PB2019,在 CS 環境下都能正常運行,但經 Appeon 部署成網上版就會報「列名 PIG 無效」:
- 10月 20 週四 202207:00
Powerbuilder (58) – 祖先代碼 ( AncestorScript )
- 10月 13 週四 202207:00
PowerBuilder (56) - 文字分行符
PowerBuilder
‘ABC~r~nDEF’:
ABC
DEF
‘ABC~r~nDEF’:
ABC
DEF
- 10月 06 週四 202207:00
PowerBuilder (57) - Datawindow Update Properties

這裏按字面理解就沒什麼差錯了,但有一點想提醒一下,「where clause」部份,如果你的系統是會多人同時使用的話,選「Key and Updatable Columns」或「Key and Modified Columns」會有點風險。因為 A B 兩個用戶同時打開同一條數據,先更新者勝,後更新者就會報 Row changed between retrieve and update 了。至於選哪一個比較好就要看系統對數據更新的嚴謹性了。
- 9月 29 週四 202207:00
Powerbuilder (55) – 手機版 ini
ini 就是設定檔,在前面 Powerbuilder(11) 中有提過一下,在手機版中, ini 變得有點不一樣。
部署後的 ini 轉化成手機上 config 文件夾中的 aws$ini$.xml,雖然變成了 xml,但 ProfileString() 跟 SetProfileString() 依然可用
部署後的 ini 轉化成手機上 config 文件夾中的 aws$ini$.xml,雖然變成了 xml,但 ProfileString() 跟 SetProfileString() 依然可用
- 9月 26 週一 202207:00
PowerBuilder (54) - 如何在手機上打開檔案?
每個 APP 都會有自己的路徑,所有在程式中下載的檔案都會儲存在該路徑的 plugin 文件夾中,你可以用 AppeonGetCacheDir() 取得它的路徑。
想在畫面中打開檔案的話,要先在畫面上加入個叫 uo_webview 的控件,然後把檔案這樣交給它就可以了:uo_webview.of_loadlocalfile(ls_path),但 Android 上不支援以 webview 打開 pdf,Android 上看 pdf 要交給瀏覽器:
ls_full_path = 'file://' + ls_full_path
GetContextService("Internet", iinet_base)
li_rtn = iinet_base.HyperlinkToURL(ls_full_path)
想在畫面中打開檔案的話,要先在畫面上加入個叫 uo_webview 的控件,然後把檔案這樣交給它就可以了:uo_webview.of_loadlocalfile(ls_path),但 Android 上不支援以 webview 打開 pdf,Android 上看 pdf 要交給瀏覽器:
ls_full_path = 'file://' + ls_full_path
GetContextService("Internet", iinet_base)
li_rtn = iinet_base.HyperlinkToURL(ls_full_path)

