|
확장DLL 사용여부는 확실하지 않지만 안되는걸로 알고 있습니다.
어쨌든 WINDOWS.H already included. MFC apps must not #include <windows.h> 이건
다음 파일을 최 우선으로 포함해야 합니다.
afxwin.h
afxext.h
옵션1
afxdisp.h
afxdtctl.h
옵션2
afxcmn.h
왕대박 님이 쓰신 글 :
: 음.. 안녕하세요. 이것이 생각보다 잘 않되네요. ^^;;
: 혹시 성공하신분은 조언 부탁드립니다.
: --------------------------------------------------------
:
: 오늘의 난제 :
: =====================
:
: MFC확장형 DLL의 경우 MFC를 지원하지 않는 언어에서는 사용할 수가 없답니다.
:
: 볼렌드나 시만텍계열의 C++컴파일러는 MFC를 지원한다고 합니다.
:
: 즉, 어떻게 처리하면 MFC확장형 DLL을 C++Builder나 Delphi에서 사용할수 있을까요?
:
:
: 사용할 툴 : C++Builder6 (왜냐면, C++이니까...)
:
: 사용할 SDK : DVR Card용 SDK(Company : Sentry)
:
:
: 조금더 자세한 설명 :
: =====================
:
: DVR 보드(Sentry사 보드)를 가지고 영상처리에 사용할 정지화면과 동영상(AVI)를
:
: 취득하려 하는데, VC++용 DLL로 제공을 합니다.
:
: 가만히 헤더 파일을 들여다보니, 확장형 DLL타입이 아닌 Class 타입으로 제공하더군요.
:
: 그것도 MFC확장 타입으로 말입니다.
:
:
:
: 아무것도 하지않고, Header만 삽입해도
:
: #include <afx.h>
: #include <Classes.hpp>
: #include <Controls.hpp>
: #include <StdCtrls.hpp>
: #include <Forms.hpp>
:
: #include ".\\DVRHpp\\common_def.h"
: #include ".\\DVRHpp\\DeviceControl.h"
:
:
: 이런류의 에러가 발생하더군요.
:
: WINDOWS.H already included. MFC apps must not #include <windows.h>
:
:
:
: //-------- 헤더 파일의 종류 ----------------
: // 타입선언류
: common_def.h
: const_def.h
: display_def.h
: type_def.h
:
: //실제 구현부
: DeviceControl.h
:
: //-------- DLL 파일의 종류 ----------------
: // Capture에 관계된 dll
: DCapture.dll
: // Image에 관계된 dll
: DxImage.dll
:
:
:
:
:
: //-------- 실제 구현부[헤더 일부] ----------------
: //DeviceControl.h
:
: #pragma once
:
: #include "common_def.h"
: #include "type_def.h"
:
: // CDeviceControl
:
: #define DX_SURFACE 16
: typedef struct tagDISP_INFO
: {
: int nDevice;
: BOOL fConvertDisplayAddress;
: } DISP_INFO, *LPDISP_INFO;
:
:
: class AFX_EXT_CLASS CDeviceControl : public CWnd
: {
: DECLARE_DYNAMIC(CDeviceControl)
:
: public:
: CDeviceControl();
: virtual ~CDeviceControl();
:
: protected:
: // DECLARE_MESSAGE_MAP()
: public:
: int GetSystemVersion(void); // OS version
:
: private:
: CWnd *m_pWnd;
: CWnd *m_pDisplayParentWnd;
: CRect m_DisplayRect;
: HANDLE m_hDevVideoCapture[DEV_MAX_DEVICE];
: HANDLE m_hDevAudioCapture[DEV_MAX_DEVICE];
: int m_nDevAudioCount;
: int m_nDevVideoCount;
: int m_nDevChannelCount;
: BOOL m_fDevOpen;
: BOOL m_fDisplayO
:
: ..........중 략 ..................
: }
:
: 음... 살짝 머리가 아프네요.
: 그냥, VC로 다 짜야하나 --;;; GUI가 상당히 많은데..... --;;;
|