제가 알기로는 RGiesecke UnmanagedExportLibrary 템플릿은 일부 위치에서 IL 파일을 구문 분석하기 위해 // 코드와 같은 주석을 사용합니다. 러시아어를 사용하는 Windows 사용자는 // 크기와 같은 러시아어 주석을 삽입하기 때문에 템플릿이 작동하지 않습니다. DLL에는 단순히 함수가 없기 때문에 오류 127이 발생하는 것입니다. 이 템플릿만을 위해 Windows 인터페이스 언어를 변경하고 싶지 않지만 꽤 잘 작동하고 올바른 것 같지만 적어도 DLL은 적어도 언로드되지 않은 것 같습니다. Microsoft는 또한 빗자루이며 C++에서 C#으로 데이터를 쉽게 전송할 수 있지만 그 반대의 경우는 큰 문제입니다.
A set of compile-time libraries (nothing to deploy) and a build task that enable you to export functions from managed code to native applications. That means, you can create plugins in a managed language like C# or F# for native applications that only have a C-Api (like Notepad++). The nuget package is all you need. Just mark your methods with [DllExport] and build for x86, x64 or ia64. Hints: - You have to set your platform target to either x86, ia64 or x64. AnyCPU assemblies cannot export functions. - The export name defaults to the method name and the calling convention to stdcall. If that's all what you want, you can just use [DllExport] without parameters. - You cannot put your exports in generic types or export generic methods. (The CLR wouldn't know what type parameters to use)
In comparison to the question above i need to combine DLLs so that final mixed DLL could export their functions to other unmanaged applications. For this i would like to compile them both as .netmodule and then combine them into one file with a linker so i have : 1) Libs - project with some library in C# - it does not have any dependencies...
I also provided several examples on how to marshal MQL5 structures against C# and how to invoke exported DLL functions in MQL5 scripts. - Page 2 - Category: articles, library comments
64승 8패를 기록 중입니다.
vs2013으로 컴파일했습니다.
그러나 로드되지만 해결되지 않은 가져오기 함수 호출이 있습니다.
이 문제를 어떻게 해결할 수 있나요?
2014.03.05 20:39:59.220 UnmanagedExportsDLLExample1 (XAUUSD,H1) 해결되지 않은 가져오기 함수 호출
2014.03.05 20:39:59.220 UnmanagedExportsDLLExample1 (XAUUSD,H1) 'Testme.dll'에서 '추가'를 찾을 수 없음
2011.10.29 20:13:37 2000.01.03 00:00 Expert_NN_1_1 USDJPY,H1: cannot call function 'sum' from dll 'NN 1 DLL.dll' (error 127)
안녕하세요,
비슷한 오류가 발생하고 있습니다. 어떻게 해결 했습니까?...
2014.03.28 22:16:41.199 2014.03.25 23:59 해결되지 않은 가져오기 함수 호출
2014.03.28 22:16:41.199 2014.03.25 23:59 'Testme.dll'에서 'Set2DArray'를 찾을 수 없습니다.
내가 이해하는 한 RGiesecke UnmanagedExportLibrary 템플릿은...
이 메시지는 반년 전에 남긴 메시지입니다. 그 이후로 변경된 사항이 있나요????
방법 1:
64 win 7, vs2012 C#이 있습니다. 소유자의 testme.zip 템플릿 파일을 다운로드했습니다.
프롬프트 중간에 몇 가지 오류 (잘못된 경로, 누락 된 파일 등 등)가 해결되었습니다.
그러나 결국에는 여전히 같은 문제가 나타나고 위층에 나타납니다. 이제 해결되었는지 모르겠습니다. 어떤 방법으로 해결할 수 있습니다.
방법 2:
NuGet은 RGiesecke 패키지를 설치했습니다.
https://www.nuget.org/packages/UnmanagedExports/1.2.6
201311의 최신 버전은 다음과 같이 프롬프트합니다.
오류 2 C:\사용자\관리자\앱데이터\로컬\템프\tmp8B24\dllTest.il(58) : 오류 : 토큰 '{. ' in: {
dllTest
IJW의 도움으로 C ++ 스트리퍼를 사용한 다음 컴파일러-링커를 사용하여 순전히 하나의 단일 DLL로 모든 것을 병합 할 수 있으며 기사에 설명 된 템플릿을 사용한 왜곡은 필요하지 않으며 여기에 간략하게 설명되어 있습니다 ( http://stackoverflow.com/questions/26226958/include-managed-c-sharp-dll-into-unmanaged-c-dll-all-in-one-single-file).
글쎄, 그리고 템플릿 RGiesecke를 사용하여 설명한 방법-그것은 해킹이고 조만간 작동을 멈 춥니 다. 그건 그렇고, 나는 또한 작동하지 않았습니다 ...그러나 누군가가 여전히 기사에 설명 된 IL 방법으로 플레이하고 싶다면 자전거가 하나 더 있지만 작동하지 않습니다-https://github.com/winch/winch.pinkbile.com-c-sharp/tree/master/dll_tool/dll_tool.
안녕하세요,
누구든지 내부에 문자열 변수가있는 구조를 dll로 보낼 수 있었습니까?
정수, 이중, 부동 소수점을 보낼 수 있었지만 문자열 변수의 경우이 오류가 발생합니다:
Access violation read to 0x0000007B
다음은 내 C# 구조입니다:
그리고 여기에 mql4 구조가 있습니다:
구조체 내부에서 문자열 변수를 마샬링하려고 시도했지만 MT4가 완전히 충돌하고 오류가 발생하지 않고 창에서 중단되고 충돌합니다.
고마워요.
예, 조만간 DLL 사용에 대한 새로운 기사를 작성할 예정입니다. 거기에는 흥미로운 것들이 많이 추가되었습니다.
그 동안 논의중인 기사의 예제를 사용할 수 있습니다. 거기에는 복잡한 것이 없습니다.
그리고 ... 얼마나 기다려야 하나요? 1 년, 2 년... 아니면 10년?
벌써 3 년이 지났습니다. 처음에 언급 한 기사에 따르면 dll에서 메서드를 가져올 수 없습니다. 예제는 어디에 있나요?
이 글을 읽어주셔서 대단히 감사합니다. 저는 여기에 있는 아이디어를 사용하여 C#용 오픈소스 MQL 라이브러리를 구축했습니다.
https://github.com/jseparovic/MQL4CSharp
아직 개발 중이며 현재 테스트되지 않은 상태이지만 초기 테스트 결과 아이디어가 작동하는 것으로 나타났습니다.
C# 코드가 실행될 스레드와 통신을 위한 게터/세터를 사용하여 C#에서 명령을 전송하는 방식은 매우 기본적입니다. MQL은 밀리초마다 대기 중인 명령에 대해 폴링하는 반면, C# 코드는 결과가 작성될 때까지 차단할 수 있습니다.
C#으로 전략을 구현하는 방법의 예는 https://github.com/jseparovic/MQL4CSharp/blob/master/MQL4CSharp/UserDefined/Strategy/MaCrossStrategy.cs 을 참조하세요.
Cheers,
Jason