2010-12-12 6 views
1

저는 var, 예를 들어, 변수가있는 C++ 콘솔 응용 프로그램이 있습니다. 내 vb.net 응용 프로그램이 vardata의 내용에 액세스하기를 원합니다. vardata를 클립 보드에 저장하고 vb.net이 클립 보드 텍스트를 가져와이를 수행 할 수 있다고 생각했습니다. 문제는 vardata의 내용이 초당 150 번 변경되고 vb.net 응용 프로그램이 클립 보드 텍스트를 가져 오려고 할 때 많은 변경이 누락되었습니다. 메모리 공간 (C++ 쪽)에 데이터를 저장하고 내 vb.net 응용 프로그램 (vb.net 쪽)에서 액세스 할 수있는 준비 함수가 있습니까? 당신은 라이브러리로 VB 응용 프로그램을 변경하고 C++ 과정에 그것을로드해야합니다 사전C++과 vb.net 응용 프로그램 간의 프로세스 간 통신

답변

1

감사합니다. 그런 다음 데이터를 전달하는 다양한 방법이 있습니다. 가장 쉬운 방법은 C++/CLI (C++)를 사용하거나 VB에서 COM 객체를 만드는 것입니다.

3

매우 불만족스러운 번호입니다. 메모리 공유로도 문제가 해결되지는 않지만 VB.NET 프로그램은 35 밀리 초 이상 CPU에 쉽게 액세스하지 못합니다. 누락 된 업데이트. 그리고 당신 정말 유지하려고주기주기를 태우고 싶지 않아요, 폴링은 추한입니다.

다른 옵션은 소켓 또는 명명 된 파이프를 사용하는 것입니다. 데이터를 잃어 버리지 않으며주기를 태우지 않습니다. VB.NET 프로그램이 응답하지 않으면 C++ 프로그램이 작동하지 않을 수 있습니다.

인간의 눈으로는 초당 약 30 회 이상 빠르게 업데이트되는 것을 인식하지 못합니다. 이것이 GUI 요구 사항이라면 초당 150 회의 업데이트가 실제로 GUI를 정지시킬 수있는 낭비입니다.