我正在将旧的(大约2000年)IBM VAST 4.5应用程序移植到VA Smalltalk。
我设法将应用程序从VAST存储库导入到我的新VA Smalltalk存储库,没有错误消息。但是,当我尝试加载应用程序时,会发生此错误:
错误:365无法完成加载,因为CwItem只能是 由('CwControls V 4.5a''CwWindowsControls V 8.6.0之一定义 [269]')。
我知道CwControls改为CwWindowsControls,但我的Smalltalk知识非常生疏:我不知道如何解决这个问题。
VA Smalltalk小组中有人提到了类似的情况,但他的回答对我来说有点神秘:
“CwControls应用程序名称在新版本中更改为CwWindowsControls。当我创建一个名为CwControls的空应用程序时,我可以在此应用程序中加载应用程序使用控件。”
我知道我可以创建一个名为CwControls的空应用程序但是我的应用程序将无法编译,因为原始CwControls通常提供的方法将不会出现。
我该如何解决这个问题?
非常感谢!!
答案 0 :(得分:2)
在我看来,CwWindowsControls已经定义了CwItem。当您从其他项目加载CwItem时,它由CwControls定义。我不熟悉VA,但你可以通过首先删除由CwWindowsControls定义的CwItem,然后加载另一个项目,最后(可能)重构CwItem由CwWindowsControls定义来解决问题。
答案 1 :(得分:1)
我找到了解决问题的方法。
我的应用程序需要另一个名为CwControls的应用程序。但是CwControls已将其名称更改为CwWindowsControls。
所以,受到@MikeLeske的回答的启发,我刚创建了一个名为CwControls的空应用程序。那样VA Smalltalk让我继续加载。
然后出现了另一个错误:
“错误:365无法完成加载,因为AbtCwPanel只能由('AbtRunWinCwControlsApp V 4.5''AbtWinRunViewsSubApp V 8.6.0 [269]')之一定义。”
但答案是类似的:我刚创建了一个名为AbtRunWinCwControlsApp的空应用程序。
现在我将13岁的应用程序加载到我的图像中。工作的时间!!!
感谢。
答案 2 :(得分:1)
我遇到了类似的问题,但是SstHttpSupport成了SstHttpCommunications等等。 我通过“管理”应用程序并删除了对SstHttpSupport的要求来修复此问题。 然后,我成功将应用程序移植到VAST 8.6中。 知道我不再拥有SstHttpSupport,我将SstHttpCommunications添加为8.6中的新要求。 希望这有帮助