我正在将旧的(大约 2000 年)IBM VAST 4.5 应用程序移植到 VA Smalltalk。
我成功地将应用程序从 VAST 存储库导入到我的新 VA Smalltalk 存储库,没有出现任何错误消息。但是当我尝试加载应用程序时,会发生此错误:
Error: 365 Cannot complete the load because CwItem can only be defined by one of ('CwControls V 4.5a' 'CwWindowsControls V 8.6.0 [269]').
我知道 CwControls 更改为 CwWindowsControls,但我的 Smalltalk 知识非常生疏:我不知道如何解决这个问题。
VA Smalltalk 小组中的有人提到了类似的情况,但他的回答对我来说有点神秘:
“CwControls 应用程序名称在新版本中更改为 CwWindowsControls。当我创建名为 CwControls 的空应用程序时,我可以加载使用此应用程序中的控件的应用程序。”
我知道我可以创建一个名为 CwControls 的空应用程序,但是我的应用程序将无法编译,因为原始 CwControls 通常提供的方法将不存在。
如何解决这个问题?
非常感谢!!
最佳答案
在我看来,CwWindowsControls 已经定义了 CwItem。当您从其他项目加载 CwItem 时,它是由 CwControls 定义的。我不熟悉 VA,但您也许可以通过首先删除由 CwWindowsControls 定义的 CwItem,然后加载其他项目,最后(可能)重构由 CwWindowsControls 定义的 CwItem 来解决该问题。
关于oop - 将 VisualAge Smalltalk 4.5 应用程序移植到 VA Smalltalk 8.6 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20203958/