Powerbuilder 预处理器指令和 DEBUG 不起作用

问题描述 投票:0回答:1

我在 DEBUG 和预编译器指令方面遇到了一些错误行为。

我有一个 PowerBuilder 应用程序。在生产环境中,它使用证书登录,但在开发环境中,为了让自己更轻松,我想使用用户名和密码登录。我添加了这段代码:

#if defined DEBUG then
   MessageBox("Info","Running in DEBUG mode, certificates disabled!")
   ibool_certlogin = FALSE
#else
   ibool_certlogin = TRUE
#end if

这似乎只是有时有效。当我第一次加载项目并运行它时,它失败了。意思是,即使我在 IDE 中并且应该定义 DEBUG,消息框 still 也不会显示,并且证书 still 已启用。

但是,我可以通过稍微任意的更改来纠正该行为。具体来说,如果我打开这段代码所在的模块,然后任意键入一个空格,然后保存。然后我运行该项目,消息框正确显示并且证书被正确禁用。它会继续正常运行,直到我关闭 PowerBuidler IDE 并重新打开它。

有人经历过这个或知道解决方案吗?

sybase preprocessor powerbuilder
1个回答
0
投票

我相信如果你对指令进行更改,你需要重建项目,简单的运行是不够的。

如果您在从 IDE 运行时需要特定行为,则更简单的解决方案是:

IF handle(getapplication()) = 0 THEN
    // running from the IDE
    ...
ELSE
    // running from EXECUTABLE
END IF
© www.soinside.com 2019 - 2024. All rights reserved.