如何使用Setter?Windev自动生成Setter调用报“未知过程”错误
解决WinDev中Setter方法提示“未知过程”的问题
针对你遇到的调用自动生成的Setter方法时出现“未知过程”错误的情况,我整理了几个常见的排查方向和解决办法:
1. 确认对象实例是否正确初始化
首先要检查:m_pclHoraires这个对象实例有没有被正确创建。如果它还没通过new关键字完成实例化,WinDev就无法识别该实例上的方法。你可以在调用Setter前加个简单的检查:
IF Non EstInstancie(:m_pclHoraires) THEN :m_pclHoraires = new clHoraires() // 替换成你的实际类名 END
2. 验证方法与类的访问权限
你生成的方法是PROCÉDURE PUBLIQUE,理论上外部可以正常访问,但要确保:
- 类本身的声明是
CLASSE PUBLIQUE,没有被误设为私有或受保护 - 方法的访问权限没有被意外修改(比如被改成了
PRIVÉE)
3. 严格核对方法名称的拼写与格式
WinDev对标识符的大小写、特殊字符是敏感的!你生成的方法是p_NuméroBDD,调用时要保证完全一致——包括Numéro里的重音符号é,还有大小写(别写成p_Numerobdd这类变体)。
4. 检查类的引用是否完整
如果你的类是单独的项目文件,要确认当前窗口/程序已经正确引用了该类所在的模块:
- 打开项目管理器找到你的类文件
- 右键点击类,选择“添加到当前程序”,或者确认它已经在编译列表中
5. 重新生成Setter方法
有时候WinDev自动生成的代码可能出现缓存或生成不完整的情况,你可以尝试:
- 删除现有的
p_NuméroBDD方法 - 通过WinDev的属性生成向导重新创建Setter方法
- 保存类文件后重新编译整个项目
另外提一句,你调用方法的语法:m_pclHoraires.p_NuméroBDD(:m_nNuméroBDD)本身是正确的,只要前面的实例和方法都没问题,就能正常执行。
内容的提问来源于stack exchange,提问作者Jay Cee
相关产品推荐
相关产品推荐

