2-1에서 빌드를 정상적으로 마쳤다면 아래와 같은 파일이 생성 되었을 것이다.

 

Client는 메인 프로그램인 x64 (64bit) 프로그램을 말한다. (이 문서는 MFC 환경을 기준으로 작성)

개발 환경은 Visual Studio 2019를 사용하였고 Visual Studio 2013부터 동일한 방법으로 사용 중이다.

 

1)프로젝트 생성 방법.

1. 새 프로젝트 생성 : 그림 1과 같이 프로젝트 템플릿 항목에 MFC검색 후 선택 (Visual C++ -> MFC 프로젝트. )

2. 그림 2와 같이 프로젝트 이름을 작성하고 만들기 버튼 클릭 . (프로젝트 명 : MFCApplication1)

2) Server 프로젝트에서 생성한 tlb 파일 적용.

1. 프로젝트의 소스 파일과 헤더 파일이 있는 폴더와 동일한 위치에 tlb 파일을 복사. (본인 파일명 Server1.tlb)

2. 헤더 파일에 ‘#import “server1.tlb” no_namespace’ 작성. (본인 파일명 Server1.tlb.)

위 과정 진행 후 빌드가 안된다면 tlb파일이 다른 위치에 있을 확률이 매우 높다. (주로 debug폴더에..)

빌드 성공 시 debug폴더에 tlb파일명과 동일한 명칭의 tlh, tli형식의 파일이 생성된다. (e.g. Server1.tlh, Server1.tli)

 

3. 헤더 파일에 Com 인스턴스 생성.

4. Cpp파일에서 아래와 같이 테스트.

5. Return 값 확인하여 정상 동작 확인.

 

끝. 

 

Posted by 람뫼
:

MX Component를 64bit 프로그램에서 조금 더 편리하게 사용하는 방법을 공유하는 차에 문서를 작성하였다.

(MX Component는 64bit 환경에서 직접 연결 지원 안됨.)

 

서버는 MX Component와 직접적으로 연결하는 x86 (32bit) 프로그램을 말한다.

개발 환경은 Visual Studio 2019를 사용하였고 Visual Studio 2013부터 동일한 방법으로 사용 중이다.

 

1) 프로젝트 생성 방법.

1. Visual Studio를 관리자 모드로 실행한다.

2. 새 프로젝트 생성 : 프로젝트 템플릿 항목에 ATL 검색 후 선택 (타 버전 : Visual C++ -> ATL 프로젝트)

 

3. 프로젝트 이름을 작성하고 어플리케이션 종류를 exe로 선택한다. (본인 프로젝트 명 : Server1)

 

2) ATL 클래스 추가

1. 프로젝트 생성을 마치면 하나의 솔루션에 두 개의 프로젝트가 생성된다.

2. 본인이 만든 프로젝트 명을 선택하여 우 클릭 후 새 항목을 추가한다. (본인 프로젝트 명 : Server1)

3. C++ -> ATL항목에서 ATL 단순 개체 선택 후 이름 작성 (본인 클래스 명 : PLCManager)

4. ProgID를 제외하고 자동 입력이 되어 있을 것이다.

   ProgID는 레지스트리 (HKEY_CLASS_ROOT\WOW6432Node\CLSID)에 저장되는 ID로

   보통 '프로젝트명.클래스명'의 형태로 입력한다.

   나머지는 기본 설정으로 두고 마침 버튼을 클릭.

5. CLSID는 .idl 파일에서 library의 uuid에 해당된다. 프로젝트 빌드 후 확인해 볼 수 있다.

 

3) Method 생성.

1. 클래스 뷰에서 클래스 선택 후 우측 마우스 클릭하여 Method를 추가한다.

   (열쇠아이콘 더블클릭하여 idl파일이 열리는 항목에서 진행.)

 

2. 다음과 같이 Method 및 매개 변수를 추가한다.

3. MX Component 를 사용하기 위하여 추가 포함 디렉터리에 Melsec\Act\include 경로를 추가한다.

   (사용자 본인 PC의 Melsec 설치 경로 확인)

4. 추가 후 헤더 파일에 #include "ActUtlType_i.h" 구문을 추가한다.

5. 생성 내용 확인 및 Cpp파일에서 필요한 기능을 구현한다. (두 번째로 생성한 Method여서 id는 2번으로 부여 됨.)

- idl (Interface Definition Language) 파일.

- 헤더 파일.

- cpp 파일.

 

4) 정상적인 빌드 후 결과 파일 확인

1. 솔루션 경로의 폴더 내용은 다음과 같다.

2. 솔루션의 Debug 폴더

3. 솔루션\Server1의 Debug 폴더

   (tlb파일은 dll과 유사하게 사용 됨.)

4. Server에서 작성한 내용이 Client에서 정상적으로 작동하려면 아래와 같이 활성화 되어야 한다.

위와 같이 활성화 시키는 방법은

- Visual Studio를 관리자 모드로 하여 Server 실행 후, Client에서 Server에 작성한 Method 실행 시 자동 생성

- 수동으로 등록하는 방법은 솔루션\Debug 폴더 내에서 Server1.exe /Regserver 입력.

- 수동 실행시키는 방법은 Server1.exe 파일 실행.

 

Posted by 람뫼
: