아주 기본적인 질문에 대해 죄송합니다. UNC 경로를 문자열로 바꾸고 싶었습니다. C ++ 연결을위한 UNC 경로가있는 다음 행은 완벽하게 작동합니다.
[DllImport(C:\\Users\\SJ\\Documents\\VS2015\\Projects\\P_01\\Debug\\EV_01.dll",
EntryPoint = "DDentry", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
public static extern void DDentry
(
[MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_BSTR)]
string[,] pArrayStr
);
UNC 경로를 문자열로 바꾸면 "비 정적 필드, 메서드 또는 속성에 대한 개체 참조가 필요합니다."오류가 발생합니다.
string UNCpath = @"C:\\Users\\SJ\\Documents\\VS2015\\Projects\\P_01\\Debug\\EV_01.dll";
[DllImport(UNCpath,
EntryPoint = "DDentry", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
public static extern void DDentry
(
[MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_BSTR)]
string[,] pArrayStr
);
많은 분들의 아이디어에 감사드립니다 ..
인스턴스 값 UNCPath
을 이와 같은 속성에 전달할 수 없습니다 . 상수 여야합니다. 또한 이중 백 슬래시 이스케이프 시퀀스를 사용하는 @
경우 문자열에 접두사를 사용할 수 없습니다 .
이 시도:
const string UNCpath = "C:\\Users\\SJ\\Documents\\VS2015\\Projects\\P_01\\Debug\\EV_01.dll";
[DllImport(UNCpath,
EntryPoint = "DDentry", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
public static extern void DDentry
(
[MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_BSTR)]
string[,] pArrayStr
);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다