1. °³¹ß/½ÇÇà Ç÷§Æû (1) OS : win7 (2) °³¹ßÅø : µ¨ÆÄÀÌ7 (3) »ç¿ë Database : ÀÎÆ÷¹Í½º
2. °³¹ß ÁßÀÎ ÇÁ·Î±×·¥ °í°´¼¾ÅÍ ¾÷¹«¿ë
3. Áú¹® ³»¿ë: CTI ¼¹ö¿¡ ·Î±×ÀÎÇϱâ À§Çؼ ÇÔ¼öÈ£Ãâ½Ã Access Violation dhfbrk qkftodgkqslek. ¿Ö ¿À·ù°¡ ³ª´Â°É±î¿ä? ¾Æ·¡ ³»¿ëÀÌ °ü·Ã ¼Ò½ºÄÚµåÀÔ´Ï´Ù. °í¼ö´ÔµéÀÇ Á¶¾ð ºÎŹµå¸³´Ï´Ù.
C ÇÔ¼ö¼±¾ð nxcapiOpenServerHA(ctmpGateID *gate, ctmpInvokeID invokeID, ctmpOpenData *openData, ctmpNameString primaryIP, ctmpNameString secondaryIP, ctmpINT portNo, ctmpNetString networkType, ctmpApplString appName, ctmpSyncMode_Def mode, ctmpINT defPbx); ÆĶó¹ÌÅÍ Å¸ÀÔÀº ¾Æ·¡¿Í °°½À´Ï´Ù. ctmpGateID : unsigned int <-- ÇÔ¼öÈ£Ãâ½Ã °ªÀ» ¹Þ¾Æ¿É´Ï´Ù. ctmpInvokeID : unsigned int ctmpOpenData : struct ctmpOpenData { ctmpGateMode_Def deviceType; ctmpServerVersion_Def APIversion; ctmpCTILink_Def APIextensions; ctmpDeviceString deviceDn; } ctmpOpenData; ctmpGateMode_Def : typedef enum ctmpGateMode_Def { ctmpV_Dn = 0, ctmpV_RoutePoint = 1, ctmpV_MonitorGate = 2, ctmpV_Manager = 9 } ctmpGateMode_Def; ctmpServerVersion_Def : typedef enum ctmpServerVersion_Def { ctmpV_CTMPV20 = 0x20, ctmpV_CTMPV30 = 0x30, // ~2.7 ctmpV_CTMPV28 = 0x28 // 2.8 } ctmpServerVersion_Def; ctmpCTILink_Def : typedef enum ctmpCTILink_Def { ctmpV_None = 0, ctmpV_ASAI = 1, ctmpV_Meridian = 2, ctmpV_CSTA1 = 3, ctmpV_CSTA2 = 4, ctmpV_CSTA3 = 5, ctmpV_NotSupport = 7 } ctmpCTILink_Def; ctmpDeviceString : char[24] ctmpNameString : char[16] ctmpINT : unsigned int ctmpNetString : char[16] ctmpApplString : char[64; ctmpSyncMode_Def : typedef enum ctmpSyncMode_Def { ctmpV_SYNC = 1, ctmpV_ASYNC = 2, ctmpV_ASYNC_EVENT = 3 } ctmpSyncMode_Def; ctmpINT : unsigned int
µ¨ÆÄÀÌ¿¡¼´Â ´ÙÀ½Ã³·³ ¼±¾ðÇÏ°í È£ÃâÇß½À´Ï´Ù. // ctmpGateMode_Def..... p_ctmpV_Dn = 0; p_ctmpV_RoutePoint = 1; p_ctmpV_MonitorGate = 2; p_ctmpV_Manager = 9;
// ctmpServerVersion_Def............ p_ctmpV_CTMPV20 = 0x20; p_ctmpV_CTMPV30 = 0x30; p_ctmpV_CTMPV28 = 0x28;
// ctmpCTILink_Def..... p_ctmpV_None = 0; p_ctmpV_ASAI = 1; p_ctmpV_Meridian = 2; p_ctmpV_CSTA1 = 3; p_ctmpV_CSTA2 = 4; p_ctmpV_CSTA3 = 5; p_ctmpV_NotSupport = 7;
// ctmpSyncMode_Def.... p_ctmpV_SYNC = 1; p_ctmpV_ASYNC = 2; p_ctmpV_ASYNC_EVENT = 3; PcubeOpenData = packed record pdeviceType : Integer; APIversion : Integer; pAPIextensions : Integer; pdeviceDn : PChar; end; function _nxcapiOpenServerHA (var gate : Integer; invokeID : Integer; openData : PcubeOpenData; serverName : PChar; serverName2 : PChar; portNo : Integer; networkType : PChar; appName : PChar; mode : Integer; defPbx : Integer) : Integer; stdcall; external 'nxcapi.dll' name 'nxcapiOpenServerHA';
½ÇÁ¦ È£ÃâºÎºÐ...... var igate : Integer; L_gate : Integer; L_invokeID : Integer; L_openData : PcubeOpenData; L_serverName : PChar; L_serverName2 : PChar; L_portNo : Integer; L_networkType : PChar; L_appName : PChar; L_mode : Integer; L_defPbx : Integer; ~~~ L_invokeID := 1; L_openData.pdeviceType := p_ctmpV_Dn; L_openData.APIversion := 0; L_openData.pAPIextensions := p_ctmpV_None; L_openData.pdeviceDn := PChar('190'); L_serverName := PChar('211.56.188.46'); L_serverName2 := PChar('211.56.188.47'); L_portNo := 9707; L_networkType := PChar('0'); L_appName := PChar('KGLogis'); L_mode := p_ctmpV_SYNC; L_defPbx := 0;
iRtnServerOpen := _nxcapiOpenServerHA ( igate, L_invokeID, L_openData, L_serverName, L_serverName2, L_portNo, L_networkType, L_appName, L_mode, L_defPbx);
|