시간이 된다면 예제를 만들어 보도록 하겠습니다. 그래서... 이 C++ 코드는 MQL4로 변환되어야 합니다.
wstring은 int 배열로 대체되어야 하며 크기를 다시 계산할 때 이를 고려해야 합니다.
나는 그렇게 가지고있다 :
inlinestd ::wstring AnsiToUnicode( conststd :: string &sSourceA, // Строка для преобразования.constint nCodePage) // Кодовая страница может быть одним из значений:// CP_ACP Системное умолчание Windows кодовых страниц ANSI.// CP_OEMCP Нынешняя система OEM кода страницы.// CP_MACCP Нынешняя система Macintosh код страницы.// CP_SYMBOL Символ кода страницы (42).// CP_THREAD_ACP Код Windows ANSI страницы для текущего потока. // CP_UTF7 UTF-7. Используйте это значение только тогда, когда вынужден от транспортного механизма 7-бит. Использование UTF-8 является предпочтительным.
{ // CP_UTF8 UTF-8.int nLength = 0 ;
std ::wstring sStringW = L "" ;
if (sSourceA.size() == 0 ) return (sStringW);
if ((nLength = ::MultiByteToWideChar(nCodePage, 0 , sSourceA.c_str(), - 1 , NULL, 0 )) == 0 ) throw (_T( "Ошибка в функции \"Utils::StringSTL::AnsiToUnicode()\". В строке отсутствуют символы." ));
sStringW.resize(nLength - 1 );
if ((nLength = ::MultiByteToWideChar(nCodePage, 0 , sSourceA.c_str(), - 1 , LPWSTR(sStringW.c_str()), nLength)) == 0 ) throw (_T( "Ошибка в функции \"Utils::StringSTL::AnsiToUnicode()\". Строка не преобразована." ));
return (sStringW);
}
WinHttpConnect() 를 살펴보았습니다 . 멀티바이트 인코딩에 대한 구현이 없습니다.
쉘을 만들고 DLL로 변환할 수 있습니까?
아니다. DLL에서 필요하지 않습니다. 나는 이것이 옵션이라는 것을 이해하지만 어떻게 든 그렇지 않습니다 ...
예를 들어 wininet.dll을 사용하면 모든 것이 작동하고 모든 기능이 작동하며 Winhttp에는 어리석은 스토퍼가 있습니다 ...
Kernel32에서 GetLastError를 호출 할 수 있지만 mql4가 유해하고 매개변수가 다른 경우에도 같은 이름으로 함수를 만들 수 없는 경우...
그런데 컴퓨터에서 이 스크립트를 실행해 보셨습니까? 어쩌면 이것은 내 문제입니까?
아니다. DLL에서 필요하지 않습니다. 나는 이것이 옵션이라는 것을 이해하지만 어떻게 든 그렇지 않습니다 ...
예를 들어 wininet.dll을 사용하면 모든 것이 작동하고 모든 기능이 작동하며 Winhttp에는 어리석은 스토퍼가 있습니다 ...
Kernel32에서 GetLastError를 호출할 수 있지만 mql4가 유해하고 매개변수가 다른 경우에도 같은 이름으로 함수를 만들 수 없는 경우...
그런데 컴퓨터에서 이 스크립트를 실행해 보셨습니까? 어쩌면 이것은 내 문제입니까?
아니다. DLL에서 필요하지 않습니다. 나는 이것이 옵션이라는 것을 이해하지만 어떻게 든 그렇지 않습니다 ...
예를 들어 wininet.dll을 사용하면 모든 것이 작동하고 모든 기능이 작동하며 Winhttp에는 어리석은 스토퍼가 있습니다 ...
Kernel32에서 GetLastError를 호출할 수 있지만 mql4가 유해하고 매개변수가 다른 경우에도 같은 이름으로 함수를 만들 수 없는 경우...
GetLastError() 는 하위 수준 --> RtlGetLastWin32Error() 를 호출해야 합니다. 일누르는 당시 제안했다. 다음은 사용 예입니다.
WinHttpConnect() 는 MQL4 에서 아무 것도 하지 않습니다.
WinHttpConnect() 는 MQL4 에서 아무 것도 하지 않습니다.
변환 을 시도할 수 있습니다.
시간이 된다면 예제를 만들어 보도록 하겠습니다. 그래서... 이 C++ 코드는 MQL4로 변환되어야 합니다.
wstring은 int 배열로 대체되어야 하며 크기를 다시 계산할 때 이를 고려해야 합니다.변환 을 시도할 수 있습니다.
시간이 된다면 예제를 만들어 보도록 하겠습니다. 그래서... 이 C++ 코드는 MQL4로 변환되어야 합니다.
wstring은 int 배열로 대체되어야 하며 크기를 다시 계산할 때 이를 고려해야 합니다.나는 그렇게 가지고있다 :
나는 그렇게 가지고있다 :
EMNIP, 표준은 연속 메모리 블록에서 문자열의 위치를 보장하지 않으므로 &sStringW[0] 구성을 사용하는 것은 어렵습니다.
일반적으로 같은 계란. 하지만 저는 100% 표준입니다 :)
EMNIP, 표준은 연속 메모리 블록에서 문자열의 위치를 보장하지 않으므로 &sStringW[0] 구성을 사용하는 것은 어렵습니다.
일반적으로 같은 계란. 하지만 저는 100% 표준입니다 :)
몰랐다...
글쎄, 소규모 구현의 경우 (아마도 모든 사람을 위해) 모든 것이 이것으로 순서대로 진행되는 것 같습니다. 나머지는 보증할 수 없습니다.