0comments

dde 통신 예제

DDE 대화가 시작되면 클라이언트는 서버와 하나 이상의 영구적인 데이터 링크를 설정할 수 있습니다. 데이터 링크는 지정된 데이터 항목의 값이 변경될 때마다 서버가 클라이언트에 이를 통보하는 통신 메커니즘입니다. 데이터 링크 또는 DDE 대화 자체가 종료될 때까지 이 알림 프로세스가 계속된다는 의미에서 데이터 링크는 영구적입니다. 이 예제에서는 SHEET1이라는 Excel 스프레드시트에서 누락된 데이터를 읽는 것을 보여 줍니다. 이 예제에서는 열 1에서 3, 행 10~20의 데이터를 읽습니다. 일부 데이터 셀은 비어 있을 수 있습니다. 다음은 일부 데이터의 모양의 예입니다: NOTAB 옵션은 포함된 공백을 포함한 전체 문자 문자열을 단일 스프레드시트 셀에 저장하는 데 사용할 수도 있습니다. 예를 들어 SAS와 Excel 응용 프로그램 간에 링크가 설정되고 SAS 변수에 임베디드 공백이 있는 문자열문자열이 포함된 경우 문자 문자열의 각 단어는 일반적으로 단일 셀에 저장됩니다. 포함된 공백을 포함하여 전체 문자열을 단일 셀에 저장하려면 다음 예제와 같이 NOTAB 옵션을 사용합니다. 예를 들어 Microsoft Excel의 셀은 다른 응용 프로그램의 값에 연결될 수 있으며 값이 변경되면 Excel 스프레드시트에서 자동으로 업데이트됩니다.

데이터 통신은 간단한 3개 세그먼트 모델로 설정되었습니다. 각 프로그램은 “응용 프로그램” 이름으로 DDE에 알려졌습니다. 각 응용 프로그램은 “주제”로 알려진 그룹별로 정보를 더 구성할 수 있으며 각 항목은 개별 데이터를 “항목”으로 제공할 수 있습니다. 예를 들어 사용자가 첫 번째 행과 첫 번째 열의 셀에 “Book1.xls”라는 스프레드시트에 포함된 Microsoft Excel에서 값을 가져오려는 경우 응용 프로그램은 “Excel”, 항목 “Book1.xls” 및 항목 “r1c1″이 됩니다. 참고: DDE 예제는 도움말 메뉴에서 액세스하는 호스트별 샘플 프로그램에 포함됩니다. 첫 번째 예제는 SAS 세션에서 Excel 스프레드시트로 데이터를 보냅니다. 대상 셀은 행 1부터 100까지, 열은 1~3입니다. 데이터를 보내려면 다음 프로그램을 제출합니다: 이 예제에서는 지정된 책갈피에서 Microsoft Word 문서에 텍스트 문자열을 보냅니다. 마이크로 소프트 워드와 마이크로 소프트 엑셀과 DDE를 사용하는 사이의 차이점을 유의하십시오. OLE 및 OLE 자동화는 DDE보다 더 고급이지만 부피가 크고 코딩하기가 어려운 것으로 입증되었습니다. OLE는 Microsoft의 구성 요소 개체 모델 위에 구축되어 있기 때문에 DDE보다 훨씬 더 정교하고 능력이 있지만 더 높은 성능 저하와 훨씬 가파른 학습 곡선의 COM 문제로 고통받고 있습니다.

네트워크로 구성된 컴퓨터 간에 작동하는 COM을 DCOM(분산 COM)이라고 합니다. .NET Remoting은 .NET 프레임워크에서 프로세스 간 통신을 위한 계층화된 아키텍처를 제공합니다. 그러나 레거시 DDE는 셸 파일 연결 및 복사, 잘라내기 및 붙여넣기 기능과 같은 Windows 내부의 여러 위치에서 여전히 사용됩니다. 단점은 DDE 서버와 응용 프로그램 간의 전송 속도가 상대적으로 느리다는 것입니다(다양한 응용 프로그램 간의 데이터 전송에 대해 간다). 짧은 기간 내에 수천 개의 값을 이동하려면 몇 가지 문제가 발생합니다. 다음 단점(디자이너에게 매우 필수적인 단점)은 개별 메시지를 구성할 수 없다는 것입니다. 예를 들어 아날로그 입력을 1분에 한 번, 디지털 입력을 1초에 한 번 전송해야 한다고 설정하는 것은 불가능합니다.

Comments are closed.