부모글 보이기/감추기 AD BLOCK 해제 요청 이 글에는 광고가 많이 들어가 있지 않습니다. adblock을 해제하셔도 글을 읽는데 그다지 부담이 없으니 해제를 부탁드립니다. C++로 씌여진 COM라이브러리를 이용하는 C#프로젝트 입니다. 검색하다보니 아래 아티클을 발견하여 유용하게 잘사용하였습니다. 관련하여 질문있습니다. https://www.sysnet.pe.kr/Default.aspx?mode=2&sub=0&pageno=10&detail=1&wid=617 위에서처럼 C#에서 데이터를 DISPPARAMS에 실어 COM에 전달하는 것과는 반대로, COM에서 넘겨받은 DISPPARAMS로부터 데이터를 꺼내어 사용해야 하는데요. 어떤식으로 하면 될까요? Marshal.PtrTo...류의 메서드를 사용해봤는데, 잘 안되네요. [다음 글] COM 객체의 타입 변경[이전 글] .net 2008 c# 에서 만든 com+ 는 com탭에서 사용불가..?! [최초 등록일: 8/16/2010] [최종 수정일: 8/16/2010] 비밀번호 댓글 작성자 2010-08-16 09시00분 간단합니다. ^^본문의 소스코드에서 마지막 test.TestDISPPARAM(ref dispParams); 로 얻어낸 경우를 가정하면, 다음과 같이 구할 수 있습니다. object [] resultArgs = Marshal.GetObjectsForNativeVariants(dispParams.rgvarg, (int)dispParams.cArgs); foreach (object result in resultArgs) { Console.WriteLine(result); } kevin25 2010-08-17 08시20분 [임동찬] 감사합니다. ^^러브리해요~~~ [guest] 2010-08-17 08시50분 [임동찬] 아.. 그런데..GetObjectsForNativeVariants를 사용하게 되면 결과로 object 배열을 받게 되는데,그렇게 되면 rgvarg가 갖고 있던 값들의 타입(VT_BSTR, VT_DATE, VT_BOOL, ...)의 정보는 마샬링 과정에서 사라지게 되는 것인가요?만약 그렇다면 이들의 정보를 확인할 방법은 없는지요? 물론 C#에서요. [guest] 2010-08-17 09시47분 반환된 object 배열요소의 하나 하나가 타입이 있습니다. 즉, 언박싱을 하면 원래의 타입으로 돌아갑니다.위의 예제 코드의 foreach 루프 문 안에 다음과 같은 코드를 추가로 넣으면,Console.WriteLine(result.GetType().FullName);화면에는 다음과 같이 출력됩니다.System.Int32System.DoubleSystem.String즉, VT_* 타입에 맞게 object로 적절하게 마샬링됩니다. (물론, 복잡한 유형의 VT_* 조합은 꺼내는 것 또한 복잡해질 수 있습니다. 아마 불가능한 유형도 있지 않을까 싶은데요. ^^) kevin25 ... 46 47 48 49 50 [51] 52 53 54 55 56 57 58 59 60 ... NoWriterDateCnt.TitleFile(s) 1556김응규4/22/201512220 [답변]: WCF net.tcp 관련해서 질문 드립니다. [1]11554(삭제)4/19/201512980안드로이드 에뮬레이터에서 특정 앱 구동불가할때! [2]1552spow...4/18/201518901마이크로세컨드 단위의 Sleep이 필요한데 찾질 못하겠습니다. [5]1553spow...4/18/201512169 [답변]: 마이크로세컨드 단위의 Sleep이 필요한데 찾질 못하겠습니다. [1]1551인디언기...4/16/201511567iisnode에 대해서 글 올리셨던데 질문이 있습니다 [1]1549김선아4/15/201512028.net framework 4.5와 c++ dll에 관한 질문입니다 [1]1550김선아4/15/201510445 [답변]: .net framework 4.5와 c++ dll에 관한 질문입니다 [2]1547문명식4/3/201512464IWebBrowser Key Event 관련 [2]1545나종식3/25/201511429internet explorer dns cache flush [2]1543이용원3/23/201511427hyper-v 질문드려요! [1]1544이용원3/24/201510554 한가지만 더 여쭤볼게요! [1]1541임기성3/20/201517788Microsoft.Office.Core dll관련 문제 [1]1539펜플3/17/201511114asp.net 질문입니다. [1]1540113/17/201511116 [답변]: asp.net 질문입니다. [1]1538열공합시닷3/13/201511883중계서버 질문드립니다 [1]1537김재영3/11/201512954asp.net의 빌드 유휴시간 이후의 리빌드 작업을 컨트롤 할 수 있습니까? [2]1536솔솔3/9/201511394mac address얻으려고 하는데요.. [1]1535Stud...3/4/201511948C#엔 MFC의 theApp 과 같은 기능을 하는것이 없나요? [3]1534김동진3/4/201511388C#에서 BHO로 Windows Explorer에서의 동작이 가능할지요 [2]1533김동현3/3/201511656컴파일 된 프로그램에 코드 삽입(?) 관련입니다. [1]1532반가워요3/3/201514256C# 소켓연결에 packet송수신... [8]1531강현수3/2/201512900C# com 등록 시 GUID 변경 관련 문의 [1]1529김민규2/15/201512770C++ 64bit/32bit [3]11528김개똥2/14/201510267좀 관련없는 질문이지만, 정말 답답하고 찾는데 명확한 해답 찾지못해 질문 올립니다. <Windows 사용자 인증> [1]1527방문자1/27/201511320System Timer의 Tick에서 Backgroundworker를 호출하면 스레드 문제가 있을까요? [1]1526황상대1/26/201513139C# 마샬링 관련 질문이 있습니다. [1] ... 46 47 48 49 50 [51] 52 53 54 55 56 57 58 59 60 ...