Microsoft MVP성태의 닷넷 이야기
글쓴 사람
초보개발자
홈페이지
첨부 파일
[SDK1.zip]    

안녕하세요
하다하다가 안되서 어떻게해야할지를 모르겠어서 올렸는데 삭제를 해버리셨어요ㅜ 도와주세요
[DllImport("SPdbUSBm.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
 public unsafe static extern short spGetWLTable(double* WLTable, short sChannel);

이렇게 C#에 DLL 선언하고 매개변수가 (double* 배열)

그래서
 double*[] WLTableArray = new double*[2080];
 sRtn = spGetWLTable(WLTableArray[0],0);

이렇게 spGetWLTable 매개변수랑 똑같이 선언해줬는데

보호된 메모리를 일거나 쓰려고 했습니다. 대부분 이러한 경우는 다른 메모리가 손상되었음을 나타냅니다.
라고 오류가 계속 발생합니다ㅜㅜ

아무리 찾아봐도 해결할수가없네요
spGetWLTable(out double WLTable, short sChannel);
로 선언해보면 보호된 메모리 오류는 안나타나는데 컴파일하고 버튼 클릭시에 그냥 꺼져버립니다.ㅜ
unsafe선언하고 Allow unsafe code도 설정해놨습니다.
도와주세요 감사합니다.








[최초 등록일: ]
[최종 수정일: 6/5/2018]


비밀번호

댓글 작성자
 



2018-06-05 11시04분
아래의 글을 다시 읽어보시고,

http://www.sysnet.pe.kr/2/0/11452

올려 주신 SDK1.zip의 소스 코드를 정리해서 올려주세요.

아마도 아래의 글을 보시면 스스로 문제 해결하는데 도움이 될 것입니다.

포인터 형 매개 변수를 갖는 C++ DLL의 함수를 C#에서 호출하는 방법
; http://www.sysnet.pe.kr/2/0/11533
정성태

NoWriterDateCnt.TitleFile(s)