-
VB6.0의 mscomm component 속성 등IT/VB6.0 2024. 10. 3. 06:31728x90반응형
속 성 설 명 CommPort 통신 포트 번호를 반환하거나 설정한다. 값이 1이면 com1을 의미합니다. PortOpen 통신 포트의 상태를 반환하거나 설정합니다. 또한 포트를 열거나 닫는다. True 포트가 열려 있고 False 포트가 닫혀 있다. Input 수신 버퍼에서 문자를 반환하거나 삭제한다. Output 문자열을 전송 버퍼에 기록한다. Break True 중단 신호 상태를 설정하고 False 중단 신호 상태를 해제한다. CDHolding 반송파 검출(CD) 회선의 상태를 쿼리하여 반송파가 존재하는 지의 여부를 결정한다. CD는 모뎀에서 모뎀이 온라인인 지를 나타내기 위해 연결된 컴퓨터로 보내는 신호이다. True이면 CD 회선이 높고 False CD 회선이 낮다. CommID 통신 장치를 구분하는 핸들을 반환한다. InBufferCount 수신 버퍼에서 기다리고 있는 문자의 수를 반환한다. InBufferSize 수신 버퍼의 크기를 바이트 단위로 반환하거나 설정한다. EOFEnable EOFEnable 속성은 입력 도중 MSComm 컨트롤이 EOF를 찾을지 결정한다. EOF 문자를 발견하면 입력이 중지되고 CommEvent 속성이 comEvEOF로 설정되면서 OnComm 이벤트가 발생한다. InputLen Input 속성이 수신 버퍼에서 읽는 문자의 수를 반환하거나 설정한다. InputMode Input 속성에서 검색하는 데이터 형식을 반환하거나 설정한다.
'0-comInputModeText'이면 Input 속성을 통해서 데이터가 텍스트로 검색되었고 '1-ComInputModeBinary'이면 Input 속성을 통해서 데이터가 이진 데이터로 검색되었다.NullDiscard 널(Null) 문자가 포트에서 수신 버퍼로 전송되는지의 여부를 결정한다. True이면 널 문자가 포트에서 수신 버퍼로 전송되지 않고False이면 널 문자가 포트에서 수신 버퍼로 전송된다. ParityReplace 패리티 오류가 발생했을 때 데이터 스트림에서 유효하지 않은 문자를 대체하는 문자를 반환하거나 설정한다. OutBufferCount 전송 버퍼에서 기다리는 중인 문자의 수를 반환한다. OutBufferSize 전송 버퍼의 크기를 바이트 단위로 반환하거나 설정한다. RThreshold CommEvent속성을 'comEvReceive'로 설정하고 OnComm 이벤트를 발생시키기 전에 수신할 문자의 개수를 반환하거나 설정한다. RTSEnable RTS(전송 요청) 회선을 활성화 시킬지를 결정한다. 데이터 전송에 대한 허가를 요청하는 RTS 신호는 컴퓨터에서 모뎀으로 보내진다. True이면 RTS 회선 활성화하고 False이면 RTS 회선 해제한다. SThreshold CommEvent 속성을 'comEvSend'로 설정하고 OnComm 이벤트를 발생시키기 전에 전송 버퍼에서 허용 가능한 최소 문자 개수를 반환하거나 설정한다. Handshaking 속성은 하드웨어 초기 접속 신호 프로토콜을 반환하거나 설정합니다. '0-ComNone'이 초기값으로 되어 있습니다.
마스크 설 명 0-ComNone 초기 접속 신호 없음 1-ComXOnXOff XON/XOFF 초기 접속 신호 2-ComRTS RTS/CTS (전송 요청/전송 취소) 초기 접속 신호 3-ComRTSXOnXOff RTS와 XON/XOFF 초기 접속 신호 ▶ Settings 속성
Settings속성은 전송 속도, 패리티, 데이터 비트, 정지 비트를 문자열로 반환하거나 설정합니다.
MSComm1.Settings = "BBBB,P,D,S" 여기서 'BBBB'는 전송 속도, 'P'는 패리티, 'D'는 데이터 비트 수 그리고 'S'는 정지 비트 수입니다.
전송속도(BBBB) 페리티(P) 데이터비트수(D) 정지비트(S) 110 E 짝수 4 1(초기 값) 300 M 표시 5 1.5 600 N 없음(초기 값) 6 2 1200 O 홀수 7 2400 S 공간 8(초기 값) 9600(초기값) 14400 19200 38400 56000 128000 256000 사용하는 구성요소는 한 개의 문자열로 처리하고 구분은 콤마(,)를 사용합니다. 사용 예는 다음과 같습니다.
MSComm1.Settings = "9600,N,8,1" 포트가 열릴 때 Settings속성에 넣는 값이 유효하지 않은 경우, '속성 값이 잘못되었습니다.'라는 에러 메시지가 화면에 나타납니다. 오류번호는 380입니다.
▶ CommEvent 속성
CommEvent 속성은 가장 최근의 통신 이벤트나 오류를 반환합니다. 통신 오류와 통신 이벤트는 다음과 같습니다.
종 류 속성 값 번 호 설 명 통신 이벤트 ComEvSend 1 전송 버퍼에 송신한계 숫자보다 적은 수의 문자가 있다. ComEvReceive 2 수신한계 숫자만큼의 문자 수신. 이 이벤트는 사용자가 Input 속성을 사용하여 데이터를 수신 버퍼에서 제거할 때까지 계속 발생한다. ComEvCTS 3 전송 취소 회선에서 변경한다. ComEvDSR 4 DSR 회선에서 변경. 이 이벤트는 DSR이 1에서 0으로 변경될 때만 발생한다. ComEvCD 5 CD 회선에서 변경 ComEvRing 6 호출음 검출한다. UARTs(보편적 비동기 수신기/송신기)중에 이 이벤트를 지원하지 않는 것도 있다. ComEvEOF 7 수신된 파일 끝 문자(ASCII 문자 26) 오류 ComBreak 1001 중단 신호가 수신되었다. ComCTSTO 1002 전송 취소 시간 초과(CTS)했다. 문자 전송 시도 중 전송 취소 회선이 시스템 지정 시간보다 낮을 때 발생한다. ComDSRTO 1003 데이터 설정 준비(DSR) 시간 초과되었다. 문자 전송 시도 중 DSR 회선이 시스템 지정 시간보다 낮을 때 발생한다. ComEventFrame 1004 하드웨어가 프레이밍 오류를 발생했다. ComEventOverrun 1006 포트 오버런. 다음 문자를 읽기 전에, 이전의 문자를 하드웨어에서 읽지 않아서 문자가 손실되었다. ComEventCDTO 1007 반송파 검출(CD) 시간 초과. 문자 전송 시도 중 CD 회선이 시스템 지정 시간보다 낮다. ComEventRxOver 1008 수신 버퍼에 여유 공간이 없어 초과했다. ComRxParity 1009 패리티 오류이다. ComEventTxFull 1010 문자를 저장하려는 도중에 전송 버퍼가 꽉 찼다. ComEventDCB 1011 포트에 대한 장치 컨트롤 블록(DSB) 검색 중 예기치 못한 오류가 발생했다. 출처 : http://www.kbtech777.com/lecture/prog/vb/03control/commcont/commcont.htm
VB6.0, 즉 비주얼 베이직 6.0은 마이크로소프트가 개발한 비주얼 프로그래밍 언어의 하나로, 1998년에 출시되었습니다. 이 언어는 주로 Windows 환경에서 GUI(그래픽 사용자 인터페이스)를 가진 애플리케이션을 쉽게 개발할 수 있도록 설계되었습니다. VB6.0은 그간 많은 소프트웨어 개발자들과 기업에서 사용되어 왔으며, 특히 비전공자나 초보 개발자들이 프로그래밍을 배우기에 적합한 환경을 제공합니다.
VB6.0의 주요 특징
- 직관적인 인터페이스: VB6.0의 가장 큰 장점 중 하나는 사용자 친화적인 IDE(통합 개발 환경)를 제공한다는 점입니다. 드래그 앤 드롭 방식으로 폼(Form)을 만들고, 각종 컨트롤(버튼, 텍스트박스 등)을 추가할 수 있어 개발자가 시각적으로 애플리케이션을 디자인할 수 있습니다.
- 이벤트 기반 프로그래밍: VB6.0은 이벤트 중심 프로그래밍 모델을 채택하고 있습니다. 이는 사용자 작업(예: 버튼 클릭, 키 입력 등)에 따라 이벤트가 발생하고, 그에 따른 코드를 실행하는 방식입니다. 이 모델 덕분에 개발자는 사용자 상호작용에 쉽게 반응할 수 있습니다.
- 강력한 데이터베이스 연결 기능: VB6.0은 데이터베이스와의 연동이 용이하여, 많은 기업들이 비즈니스 애플리케이션을 개발하는 데 사용해왔습니다. ADO(ActiveX Data Objects) 같은 라이브러리를 통해 MS Access, SQL Server와 같은 데이터베이스에 쉽게 접근할 수 있습니다.
VB6.0에 대한 현재 상황
비록 VB6.0은 그 자체로 강력한 성능과 활용도를 자랑했지만, 시간이 지나면서 다양한 새로운 프로그래밍 언어와 개발 환경이 등장했습니다. 특히 .NET 프레임워크의 발달로 C#과 같은 언어들이 대세가 되면서, VB6.0은 점차 사용량이 줄어들고 있는 추세입니다. 그러나 여전히 과거에 많은 애플리케이션이 VB6.0으로 개발되었기 때문에, 기존 시스템의 유지보수 및 업그레이드를 위해 VB6.0에 대한 지식이 요구되는 경우가 많습니다.
최근 VB6.0 관련 사례
최근 자료에 따르면, VB6.0을 사용한 프로그래밍에서 발생하는 문제에 대한 이야기가 나옵니다. 한 사용자가 lock_init_usb 함수를 호출했을 때, VB6.0에서는 리턴 값이 이상하게 나오는 문제가 발생했으며, 이는 데이터 타입 선언의 불일치에서 기인한 것으로 보입니다. 이러한 문제는 오랜 시간 동안 사용된 VB6.0의 데이터 타입 처리 방식과 관련이 깊습니다. VB6.0에서의 정수 데이터 타입은 현대의 다른 언어와 다르게 동작할 수 있으므로, 이런 세부적인 사항에 주의해야 할 필요성이 있습니다.
결론적으로, VB6.0은 강력하고 사용하기 쉬운 프로그래밍 도구이지만, 최신 기술 환경에 맞추어 점차적으로 다른 언어 또는 프레임워크로의 전환이 요구되고 있습니다. VB6.0의 특성과 잘못된 구현 사례를 이해하는 것은 여전히 중요하며, 이는 프로그래머가 기존 시스템을 효과적으로 관리하고 향후 개발에 반영할 수 있는 기반이 됩니다.
728x90'IT > VB6.0' 카테고리의 다른 글
웹서비스 설정 (0) 2024.10.06 폼 및 모듈내의 명령어 검색 프로그램 (0) 2024.10.05 SQL문 변환 (프로그램 소스로...) (0) 2024.10.05 바코드 프린터 제어 프로그램 (0) 2024.10.03 DB에서 자동순번 필드의 현재 순번 구하기 (0) 2024.10.03