MQL5 에서 DLL 로딩하여 사용가능하며, #import 구문으로 감싸서 DLL 로딩하고 사용할 함수들의 선언들 나열하면, MQL5 코드내에서 해당함수 호출 할 수 있다.
/// DLL 로딩예
#import "D:\\CyFin\\64bit\\CyFinDevice.dll"
int OpenApi_CyFinDevice();
int CloseApi_CyFinDevice();
int Set_SymbolMaster_CyFinDevice(CyENUM_SYMBOL enum_symbol_master);
int Set_SymbolHandling_CyFinDevice(CyENUM_SYMBOL &penum_symbol[], int num_symbol);
int Set_TimeframeHandling_CyFinDevice(ENUM_TIMEFRAMES &penum_timeframe[], int num_timeframe);
#import
DLL 함수 인자로 사용가능한것.
- 아래 안되는것 빼고 전부 다 사용가능.
#import 구문내에서 함수 인자로 지원되지 않는것.
Classes, string arrays or complex objects that contain strings and/or dynamic arrays of any types cannot be passed as a parameter to functions imported from DLL.
|
DLL 함수 인자로 함수포인터 전달도 불가함.
typedef void(*Cy_pF1)(int); // 함수포인터 타입선언.
#import "D:\\CyFin\\64bit\\CyFinDevice.dll"
int OpenApi_CyFinDevice_2(Cy_pF1 pf_apimain_cb); // 컴파일해보면 지원되지 않는다는 에러발생함.
#import
위 코드 컴파일하면 보여주는 에러
#import 추가상세정보.
https://www.mql5.com/en/docs/basis/preprosessor/import
'트레이딩 > 메타트레이더 코딩' 카테고리의 다른 글
MQL5. memcpy 사용하기 (0) | 2019.05.21 |
---|---|
메타트레이더 . 코딩 . 클래스 non-static 멤버함수를 콜백함수로 전달하기 (0) | 2019.05.21 |
MQL5. Generic Data Collection. CHashMap. 딕셔너리 (0) | 2019.05.18 |
MQL5. Arrays. 배열 (0) | 2019.05.17 |
MQL5. struct. 구조체, DLL 함수인자에 구조체 전달 방법 (0) | 2019.05.16 |
댓글