졸리운곰 님이 쓰신 글 :
: 아래는 Visual C++ 소스입니다.
: 이것을 C 빌더로 변경하하려면 어떻게 해야 되나요?
:
: ------------------------------------------------------
:
: #import "msxml4.dll"
: using namespace MSXML2;
:
: #import "C:\Program Files\Common Files\MSSoap\Binaries\mssoap30.dll" exclude(
: "IErrorInfo","IStream", "ISequentialStream", "_LARGE_INTEGER", "_ULARGE_INTEGER",
: "tagSTATSTG", "_FILETIME")
: using namespace MSSOAPLib30;
:
: BOOL CVcSendSmsApp::InitInstance()
: {
: CoInitialize(NULL);
: ……….
: }
: int CVcSendSmsApp::ExitInstance()
: {
: // TODO: Add your specialized code here and/or call the base class
:
: CoUninitialize();
: return CWinApp::ExitInstance();
: }
: -----------------------------------------------------------------------
:
답변:
델파이 랭귀지에선 컴파일러 레벨에서 COM 모듈타입을 임포트 하는 기능이 없어서
외부 변환툴에 의존해서 처리해야 한다고 해도...
C++ 랭귀지에선 #import 신텍스를 이용한 컴파일러 레벨에서 COM 모듈타입 임포트를 지원하는데
RAD 10.2 Tokyo 버전에서는 #import 신텍스가 Depreated로 나오네요.
네이티브 애플리케이션에서 닷넷 모듈을 인터믹스해서 사용할 때, CLR Hosting을 위해
컴파일러의 #import 는 상당히 유용하게 사용되는 기능임에도 불구하고
엠바 애들 왜 이런 닭짓을 하는지 모르겠네요.
#import 신텍스를 이용해서 COM 모듈 바인딩 코드도 컴파일러가 생성할 수 있게
콘트롤 할 수 있는데 말이죠.
설치되어있는 컴파일러가 RAD 10.2 Tokyo 밖에 없어서 이걸 갖고 테스트 해보면
#import 신텍스가 처리되기는 합니다.
다만 #import 구문 앞에...
typedef uint64_t uint64;
로 uint64 먼저 정의해 주어야 컴파일 됍니다.
|