Lazarus Pascal:如何调试窗口小部件集(多行标题/提示问题)

时间:2016-04-19 11:57:54

标签: pascal lazarus macos-carbon caption hint

我不是最先进的程序员,但是喜欢和Lazarus一起工作。

不幸的是,偶尔会出现一个问题或错误(例如this onebugreport),而且我想帮忙,看看我是否可以通过尝试调试这个来做出贡献我自己并提供一个可能的"修复"。

我遇到的问题是:如何调试窗口小部件集或对象检查器?

简短原因: 当我在Windows或Linux下输入多行标题或提示时,这样可以正常工作。然而,在MacOS X(Carbon)下,对象检查器或窗口小部件集将删除换行符,我不知道在哪里尝试解决此问题。

凭借我能够弄清楚自己; 我已将问题缩小到Object Inspector或Carbon小部件集。手动编辑表单(lfm)有效,在运行时在代码工作中执行,多行captiosn或提示在Windows和Linux下运行正常。 所以我怀疑Object Inspector使用的Carbon widget-set做错了。

非常感谢任何帮助我入门的帮助。

如果这个问题不恰当或不够具体,我很抱歉 - 我只是想在调试此问题时寻求帮助。

1 个答案:

答案 0 :(得分:1)

IDE对象检查器实际上是TTIPropertyGrid的高级版本。 如果你想调试它,你可以在包上工作并在一个简单的项目中测试它:

enter image description here

然后添加一个简单的处理程序来测试项目表单上的检查器:

.myclass {
  color: blue;
}

当您修改包 RunTimeTypeInfoControls 中的源时,更改将不会在IDE中显示,而是在运行时在您的示例项目中显示(包将自动重新编译)

如果错误来自属性编辑器本身(可能是 TStringsPropertyEditor ),那么您可能还必须使用 PropEdits 单元。

为了避免任何费力的操作,您可以在匹配的编辑器类的副本上测试您的更改,并将其注册到测试项目的初始化部分,以替换默认的 buged 版本。< / p>