2.1.1. cmmGnDeviceLoad¶
Warning
CMMSDK API를 사용하기 위해 cmmLoadDll 이후 사용되어야 하는 함수입니다.
SYNOPSYS¶
VT_I4 cmmGnDeviceLoad (
[in] VT_I4 IsResetDevice, [out] VT_PI4 NumAxes
)
PARAMETER¶
IsResetDevice : 장치 초기화를 수행할지를 결정합니다.
Value |
Meaning |
---|---|
0 또는 cmFALSE |
장치 로드 시에 장치를 초기 값으로 초기화하지 않습니다. |
1 또는 cmTRUE |
장치 로드 시에 장치를 리셋한 후 장치의 여러 속성들을 기본값으로 초기화합니다. |
NumAxes : 모션 제어 축의 개수를 반환합니다. NULL을 전달할 경우 에러코드를 반환하지 않습니다.
DESCRIPTION¶
시스템에 설치된 하드웨어 장치를 로드합니다.
Example¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | #include “Cmmsdk.h”
#include “CmmsdkDef.h”
void ProgramInitial(void)
{
long nNumAxes = 0;
if ( cmmLoadDll() != TRUE ) {
/* OutputDebugString API 는 GUI 프로그램에서 문자열을 디버거에 보낼 수 있습니다. Borland C++ Builder 에서는
DebugWindows 에 Event Log 를 확인(確認)할 수 있으며, MS VC++ 에서는 Debug 윈도우에서 확인(確認)할 수 있습니다. */
OutputDebugString(“DLL 로드에 실패하였습니다”);
// 이후 적절한 에러처리를 해주시기 바랍니다.
}
if ( cmmGnDeviceLoad(cmTRUE, &nNumAxes) != cmERR_NONE ){
// MS VC++ 에서는 아래와 같이 에러 원인을 화면에 표시할 수 있습니다.
cmmErrShowLast(GetSafeHwnd());
// Borland C++ 계열에서는 아래와 같이 에러원인을 화면에 표시할 수 있습니다.
cmmErrShowLast(Form1->Handle);
}
} /* ProgramInitial(void) 함수의 끝 */
-----------------------------------------------------------------------------------------------------------------------------
Visual Basic
‘ Visual Basic 에서는 명시적인 DLL 로드가 필요 없습니다.
Private Sub Form_Load()
Dim IRetVal As Long
Dim nTotalAxes As Long
IRetVal = cmmGnDeviceLoad(cmTRUE, nTotalAxes)
If IRetVal <> cmERR_NONE Then
MsgBox(“cmmGnDeviceLoas has been failed”)
End If
End Sub
------------------------------------------------------------------------------------------------------------------------------
Delphi
//* Delphi 에서는 명시적인 DLL 로드가 필요없습니다.
//* 단, 처음 선언 시에 다음과 같은 내용이 포함되어야 합니다.
/////////////////////////////////////////////////////////////
// COMZIOA SDK Library 를 위한 인터페이스 파일을 사용합니다.
uses CmmSDK;
////////////////////////////////////////////////////////////
procedure TForm1.OnCreate(Sender: TObject);
var
g_nAxes : LongInt;
begin
if ( cmmGnDeviceLoad(cmTRUE, @g_nAxes) <> cmERR_NONE ) then
begin
cmmErrShowLast(Form1.Handle);
exit;
end;
end;
|
See also