일상적인 작업 중 일부는 기존 VB6 응용 프로그램을 유지 관리하고 확장합니다. 일반적인 엔진은 C/C++로 작성되었으며 VB6은 성능을 향상시키기 위해 이러한 기능을 사용합니다.VB6 IDE에서 작업 할 때 COM 컨트롤 언로드
비동기 프로그래밍의 경우 C 인터페이스로는 충분하지 않으며 COM 컨트롤을 사용하여 VB6에 이벤트를 발생시킵니다.
내 문제는 VB6에서 컨트롤을 등록 할 때 VB에서이 컨트롤을 메모리에로드하고 VB6 IDE를 종료 할 때까지 언로드하지 않는다는 것입니다. 컨트롤이 항상로드되므로 DLL 파일이 잠겨 있기 때문에 VC6에서 컨트롤을 다시 컴파일 할 수 없습니다.
내가 찾은 해결책은 VB에서 컨트롤을 사용하지 않고 CreateObject()
을 내 컨트롤의 전체 이름으로 사용하는 것입니다. VB6는 내가 사용하고있는 인터페이스에 대해 아무 것도 모르고 IntelliSense에 액세스 할 수 없기 때문에 문제는 그저 개체로 내 컨트롤을 선언해야한다는 것입니다.
VB6에서 응용 프로그램을 종료 한 후 컨트롤을 언로드하거나 IDE에서 직접 컨트롤을 언로드하도록 설정할 수 있습니다.
매우 똑똑하기 때문에 노력하겠습니다. 이제는 내 기존 쿠키 기반 계정을 새로운 OpenId 기반 계정과 병합 할 수 있으므로이 대답을 답변으로 표시 할 수 있습니다. –
VB 이외의 다른 IDE에서도 사용할 수 있습니다. 필자는 Delphi/VB6을 사용하여이 작업을 성공적으로 완료했습니다. –