2013-11-25 1 views
2

이전 버전 (2000 년 경) IBM VAST 4.5 응용 프로그램을 VA 스몰 토크로 포팅합니다.VisualAge Smalltalk 4.5 응용 프로그램을 VA Smalltalk 8.6으로 이식하는 중 오류가 발생했습니다.

오류 메시지없이 VAST 저장소에서 새 VA 스몰 토크 저장소로 응용 프로그램을 가져올 수있었습니다. 나는 응용 프로그램을로드 할 때이 오류가 발생합니다

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로 변경하지만 내 스몰 토크의 지식은 매우 녹슨 것을 이해 : 나는이 문제를 해결하는 방법을 모른다. 버지니아 스몰 토크 그룹의

누군가가 비슷한 상황을 언급하지만 그의 대답은 나에게 약간의 비밀입니다 : 난 빈 응용 프로그램 이름 CwControls을 만들 때

"CwControls 응용 프로그램 이름이 CwWindowsControls으로 새 버전으로 변경됩니다. 앱을로드 할 수 있습니다.이 앱의 컨트롤을 사용합니다. '

CwControls라는 빈 앱을 만들 수 있지만 원래의 CwControls가 제공하지 않는 메소드가 정상적으로 제공되지 않으므로 애플리케이션이 컴파일되지 않는다는 것을 알고 있습니다.

이 문제를 어떻게 해결할 수 있습니까?

대단히 감사합니다!

+0

구성 맵 또는 응용 프로그램을로드 할 때 오류가 발생합니까? 구성 맵을로드하는 경우로드중인 응용 프로그램 중 하나 인 CwControls가 나열되어 있습니까? –

+0

안녕하세요 @ David-Buck, 전제 조건으로 CwControls를 사용하는 응용 프로그램을로드하고 있습니다. – carlospc

답변

2

CwWindowsControls가 이미 CwItem을 정의한 것처럼 보입니다. 다른 프로젝트에서 CwItem을로드하면 CwControls에 의해 정의됩니다. 저는 VA에 익숙하지 않지만 먼저 CwWindowsControls에 정의 된 CwItem을 삭제 한 다음 다른 프로젝트를로드하고 CwWindowsControls에서 정의한 리팩토링 CwItem을로드하여 문제를 해결할 수 있습니다.

+0

좋은 생각입니다. 시도해 보겠습니다. 어쩌면 CwWindowsControls에서 상속 된 새로운 CwControls 앱을 정의 할 것입니다. – carlospc

1

내 문제를 해결할 방법을 찾았습니다.

내 응용 프로그램에는 CwControls라는 다른 응용 프로그램이 필요합니다. 그러나 CwControls는 CwWindowsControls라는 이름으로 바뀌 었습니다.

@MikeLeske의 답변에서 영감을 얻은 저는 방금 CwControls라는 빈 앱을 만들었습니다. 그런 식으로 VA 스몰 토크를 사용하면 계속 부하를 분산시킬 수 있습니다.

다른 오류는 나타나

"오류 :. AbtCwPanel 만 ('AbtRunWinCwControlsApp V 4.5'AbtWinRunViewsSubApp V 8.6.0 [269]) 중 하나에 의해 정의 될 수 있기 때문에, (365)의 부하를 수행 할 수 없다"

그러나 대답은 비슷했습니다. 방금 AbtRunWinCwControlsApp라는 빈 앱을 만들었습니다.

이제 내 13 년 된 응용 프로그램이 내 이미지에로드되었습니다. 일할 시간!!!

감사합니다.

+0

로드하기 전에 Application Editions 편집기를 사용하여 제반 사항을 변경할 수도 있습니다. 이제로드되었으므로 응용 프로그램 관리자에서 전제 조건을 변경할 수도 있습니다. 행운을 빌어 요. –

+0

다윗, 고맙습니다. – carlospc

1

비슷한 문제가 있었지만 SstHttpSupport와 SstHttpCommunications 등이되었습니다. 응용 프로그램을 "관리"하고 SstHttpSupport 요구 사항을 제거하여이 문제를 해결했습니다. 그런 다음 응용 프로그램을 VAST 8.6에 성공적으로 포팅했습니다. 더 이상 SstHttpSupport가 없다는 것을 알고, 8.6에서 SstHttpCommunications를 새로운 요구 사항으로 추가합니다. 희망이 있습니다