그럼에도 불구하고 dll, wchar_t *에서 문자열을 포인터로 전달하는 문제로 돌아가겠습니다. dll의 문자열 작업에 대한 Renat 의 기사 에서 mql의 문자열 유형이 외부 dll에서 wchar_t * 문자열에 대한 포인터를 수신한다는 것이 분명합니다. 즉, wchar_t *를 dll에 보내고 mql에서 string &로 받아들입니다. 그러나 어떤 이유로 C-함수는
여전히 dll, wichar_t *를 포인터로 문자열을 전달하는 문제로 돌아가십시오. dll의 문자열 작업에 대한 Renat 의 기사 에서 mql의 문자열 유형이 외부 dll에서 문자열 wichar_t *에 대한 포인터를 수신한다는 것이 분명합니다. 즉, wichar_t *를 dll에 보내고 mql에서 string &로 받아들입니다. 그러나 어떤 이유로 C-함수는
제대로 작동하지 않습니다. wichar_t * dest, mql accepts 문자열에 대한 포인터이지만 간헐적으로 때로는 그렇지 않습니다. 때때로 터미널이 충돌하면 프로그램이 완료됩니다.
기능부
터미널은 충돌하지 않지만 간헐적으로 라인이 옵니다. 다음 빌드에서 수정해주세요.
추신. wichar_t * 포인터가 다른 스레드에서 전달되었음을 명확히 하는 것을 잊었습니다. 저것들. wcscpy_s 또는 wcscpy 함수는 별도의 스레드에서 호출됩니다.
이 함수의 결과를 온틱으로 출력하면 1970.01.01 가격이 0입니다.
아마도 컴퓨터에 바퀴벌레가 있습니까? 빌드 1220에 이 코드가 있습니다.
출력하다
이 함수의 결과를 온틱으로 출력하면 1970.01.01 가격이 0입니다.
오류 코드는 무엇입니까?
테스트 매개변수는 무엇입니까?
주간 및 월간 데이터를 업로드했습니까? 그 중 몇 개가 있습니까?
오류 코드는 무엇입니까?
테스트 매개변수는 무엇입니까?
주간 및 월간 데이터를 업로드했습니까? 그 중 몇 개가 있습니까?
나는 확인했고 이제 모든 것이 작동합니다.
이야기를 올렸습니다.
고맙습니다.
메모리 모니터링.
내 코드에서 CopyRates는 약 천 번 실행됩니다.
그런 다음 따옴표 배열이 어떻게 든 처리되고 그 끝에서 다음을 호출합니다.
ArrayRemove (ArrayQuotes,0,ArraySize);
ArrayFree(ArrayQuotes);
ArrayResize(ArrayQuotes,0);
ArrayFree(ArrayQuotes);
ZeroMemory(따옴표 배열);
(다르게 실험했을 뿐)
결과 - 메모리는 여전히 기하학적으로 증가하고 막히며 프로세서에 대한 부하 - i7의 프로세서는 모든 논리 코어에 대해 집계에서 80% 막히고 메모리는 기가바이트 이상입니다.
지금까지 타사 프로그램의 도움으로 리소스 소비를 제한할 수 있었습니다. 프로세서는 15% 이하이고 메모리는 1기가바이트 이하입니다.
질문 - 이것은 버그입니까 아니면 플랫폼의 기능입니까?
그건 그렇고, 메타에디터의 이상한 행동은 수정되어야 합니다:
fn_call(); /////////////////////
슬래시를 더블 클릭하면 이전 문자와 함께 슬래시가 선택됩니다(숫자/문자가 없는 경우).
왜 불편한가요? 우리는 코드를 임시로 편집하고 이런 식으로 장소를 할당했습니다. 그런 다음 일부 슬래시를 빠르게 선택하고 제거해야 합니다.
그럼에도 불구하고 dll, wchar_t *에서 문자열을 포인터로 전달하는 문제로 돌아가겠습니다.
dll의 문자열 작업에 대한 Renat 의 기사 에서 mql의 문자열 유형이 외부 dll에서 wchar_t * 문자열에 대한 포인터를 수신한다는 것이 분명합니다.
즉, wchar_t *를 dll에 보내고 mql에서 string &로 받아들입니다.
그러나 어떤 이유로 C-함수는
제대로 작동하지 않습니다. wchar_t * dest 문자열에 대한 포인터, mql은 허용하지만 간헐적으로 때로는 그렇지 않습니다.
때때로 터미널이 충돌하면 프로그램이 완료됩니다.
기능부
터미널은 충돌하지 않지만 간헐적으로 라인이 옵니다.
다음 빌드에서 수정해주세요.
추신. wchar_t * 포인터가 다른 스레드에서 전달되었음을 명확히 하는 것을 잊었습니다.
저것들. wcscpy_s 또는 wcscpy 함수는 별도의 스레드에서 호출됩니다.
여전히 dll, wichar_t *를 포인터로 문자열을 전달하는 문제로 돌아가십시오.
dll의 문자열 작업에 대한 Renat 의 기사 에서 mql의 문자열 유형이 외부 dll에서 문자열 wichar_t *에 대한 포인터를 수신한다는 것이 분명합니다.
즉, wichar_t *를 dll에 보내고 mql에서 string &로 받아들입니다.
그러나 어떤 이유로 C-함수는
제대로 작동하지 않습니다. wichar_t * dest, mql accepts 문자열에 대한 포인터이지만 간헐적으로 때로는 그렇지 않습니다.
때때로 터미널이 충돌하면 프로그램이 완료됩니다.
기능부
터미널은 충돌하지 않지만 간헐적으로 라인이 옵니다.
다음 빌드에서 수정해주세요.
추신. wichar_t * 포인터가 다른 스레드에서 전달되었음을 명확히 하는 것을 잊었습니다.
저것들. wcscpy_s 또는 wcscpy 함수는 별도의 스레드에서 호출됩니다.
그리고 누가 string dest에 메모리를 할당할까요?
메모리는 mql 코드에서 다음과 같이 할당됩니다.
mql의 문자열이 dll의 wchar_t*이기 때문에 out 및 할당된 메모리 에 대한 포인터로 전달됩니다.
Func( "Task" , out);