我的应用程序中的表单来自一个共同的祖先,例如:
TAtFormBaseIW = class(TIWAppForm) 和 TAtFormExplorerIW = class(TAtFormBaseIW)
这适用于某些形式,但不适用于其他形式。
让我做一个疯狂的猜测:它似乎适用于在IW 10之前在Delphi中创建的所有表单,但不适用于我使用IW 10创建的表单。新表单会发生什么:HWenever我想将它们加载到在IDE中,它们被解释为win32表单,一些属性被忽略(所有典型的win32属性,如ClientWidth),我被告知我不能将IW组件放在这些表单上。
使它们成为TIWAppForm的直接后代,保存它们并使用普通文本编辑器将其更改回来。重新编译后,它们在浏览器中显示正常,但从未在IDE中显示。
知道发生了什么事吗?
答案 0 :(得分:1)
Mea culpa,mea maxima culpa。这个问题与IntraWeb无关,但是应该将派生表单的方式添加到项目中。
在将新表单添加到项目之后,我应该这样做,而不是仅仅将TIWAppForm更改为TAtFormBaseIW:
在IDE中选择
文件/新/其他/可继承的项目
然后是您要从中获取表单的基本表单。
如果要将现有表单转换为派生,请将dfm文件中的前导关键字 object 更改为继承。
您可以阅读此here。