본문으로 건너뛰기

SHControl 구현

본 내용은 Visual Studio 2017C# 언어 기준으로 설명합니다.

예제

  1. Visual Studio 실행
  2. [클래스 라이브러리(.NET Framework)] 프로젝트 유형 선택

Figure 1 - 프로젝트 유형 선택


  1. 프로젝트 이름에 MySHControl 입력 후 확인 선택
  2. MySHControl 프로젝트 선택 후
    마우스 오른쪽 버튼 클릭 → 추가클래스 선택

Figure 2 - 클래스 추가


  1. 이름에 MyClass.cs 입력 후 추가 선택

Figure 3 - MyClass.cs 추가


  1. MySHControl 프로젝트 하위 참조 선택 후
    마우스 오른쪽 버튼 클릭 → 참조 추가 선택

Figure 4 - 참조 추가


  1. 참조 관리자에서 찾아보기 선택 →
    VIZZARD 설치 폴더의 SHConnector.dll 선택 후 추가

Figure 5 - SHConnector.dll 추가


  1. Namespace 추가
using SHConnector;
  1. Base Class 추가
IEntryConnector
  1. VIZZARD 응용프로그램과 연결을 위한 객체 선언
public IVIZZARDService Connector { get; set; }
  1. 생성자 재정의
public MyClass(IVIZZARDService conn) : this()
{
Connector = conn;
}
  1. Plugin 자체 라이선스 체크 메서드 추가
public bool CheckLicense(int hostApp)
{
return true;
}

⚠️ 해당 메서드에서 라이선스 체크 후 false를 반환하면
SHControl이 로딩되지 않습니다.
(개발사별 라이선스 정책 지원 목적)


  1. Plugin.xml 정의
    Plugin.xml 정의 문서

최종 코드 예제

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using SHConnector;

namespace MySHControl
{
public class MyClass : IEntryConnector
{
// ========================================
// Property
// ========================================
public IVIZZARDService Connector { get; set; }

// ========================================
// Construction
// ========================================
public MyClass()
{
}

public MyClass(IVIZZARDService conn) : this()
{
Connector = conn;
}

// ========================================
// Custom License
// ========================================
public bool CheckLicense(int hostApp)
{
return true;
}
}
}