POWERBUILDER · AGENT SKILL

pb-dev — PowerBuilder 开发辅助

面向 PowerBuilder 10 / 25 桌面应用的开发 Skill:源码编辑 · PBL 库管理 · DataWindow 设计 · SQL 与编译发布

能力概览

.sr* 源文件编辑
ORCA / PBL 库管理
嵌入式 & 动态 SQL
DataWindow 设计
匈牙利命名法
SQL Anywhere 数据库
exe 编译与打包
项目重命名改造

核心工作流

PBL 库文件── ORCA 导出 ──▶ .sr* 文本源文件── 编辑器修改 ──▶ .sr* 源文件── ORCA 导入编译 ──▶ PBL 库文件

PB10 Unicode 通过 PBORCA_UTF8=1 导出 UTF-8 源文件;编辑后须保持原编码不变。

目录结构

13 篇参考文档
1 个 Python 脚本
1386 行 SKILL.md

文件类型速查

扩展名对象类型PBORCA_TYPE说明
.sraApplication0应用入口对象
.srdDataWindow1数据窗口定义
.srfFunction2全局函数
.srmMenu3菜单(PB10 导入常失败,建议 IDE 创建)
.srsStructure5结构体
.sruUserObject6自定义用户对象
.srwWindow7窗口及控件、脚本
.srjProject9项目对象

关键红线(实战踩坑)

编码.sr* 外部编辑避免引入 UTF-8 中文导致双重编码损坏;读取优先 UTF-8,失败回退 GBK
换行符Import 要求 CRLF 行终止符,LF 必报 "Regenerate of source failed"
续行陷阱PowerScript 用 + & 续行,字符串断行有字节级限制
语法完整性if-else 跨行缺 end if → C0031 编译错误
菜单对象PB10 下 .srm 导入经常失败,建议 IDE 创建或用按钮驱动 MDI 替代
对象名一致SRW/SRM 对象名必须与 PBL 中已有对象名完全一致才能覆盖导入

工具脚本

extract_schema.py

解析目录下所有 .srd 文件,提取表定义、列信息与 SELECT 语句,自动检测编码(GBK/GB2312/UTF-8)。

python extract_schema.py <dir> [--output schema.json] [--markdown]

维护约定

SKILL.md「项目复用与实战经验」按项目归档;新增踩坑追加到「常见陷阱(Gotchas)」;修改后提交 git 保可追溯。