오류, 버그, 질문 - 페이지 2732

 
Vladimir Karputov :

검색(모든 검색, 모든 이름)을 시작하고 즉시 검색을 중지합니다. 결과적으로 파일 형식을 선택할 수 있는 검색 표시줄이 나타납니다.


이런... 감사합니다.
 
Artyom Trishkin :

비디오 파일을 찾는 데 필요한 것이 무엇인지 압니다. 모두. 전적으로. 그리고 그들이 어떤 유형과 이름인지 - 기계 자체가 그것을 찾도록하십시오.

기계가 검색하는 방법을 상상하기 어렵지만 DOS에서 검색하는 방법(Win + R을 누르고 cmd를 작성)은 다음과 같습니다.

dir/b/s  *. 3 g2 *. 3 gp *. 3 gp2 *. 3 gpp *. 3 gpp2 *.asf *.asx *.avi *.bin *.dat *.drv *.f4v *.flv *.gtp *.h264 *.m4v *.mkv *.mod *.moov *.mov *.mp4 *.mpeg *.mpg *.mts *.rm *.rmvb *.spl *.srt *.stl *.swf *.ts *.vcd *.vid *.vid *.vid *.vob *.webm *.wm *.wmv *.yuv > d:\filename.txt

확장 프로그램은 http://fileext.ru/video 를 발견한 첫 번째 사이트를 검색하여 열이 있도록 Excel에 삽입한 다음 메모장에 삽입했습니다.

경로 및 파일 이름 d:\filename.txt를 사용하여 검색 데이터를 작성할 마지막 매개변수

확인, 작동합니다 ....하지만 어떤 식 으로든 비디오가 포함 된 바이너리가 없습니다.)))

 
MQL5 클라우드 보호로 컴파일하면 인터넷이 없을 때 편집기가 중단되는 것 같습니다. 첫째, 부드럽게 멈춥니다(예: 편집기에서 다른 작업을 수행할 수 있지만 컴파일 명령이 완료를 기다리고 있으며 시간 초과가 있는 경우 얼마나 기다려야 할지 명확하지 않음). 취소 버튼을 누르면 이미 단단히 끊긴 상태입니다.
 

.dll에서 MQL4로 문자열을 반환하고 싶습니다(MQL5를 사용하면 모든 것이 문제 없이 작성됨)

일반적으로 나는 이미 많은 사본을 깨뜨렸으므로 아는 사람들에게 묻고 싶습니다. 메모리의 문자열 배열이 무엇입니까? - 문자열 배열이란 무엇입니까?!

 string s_arr_1[];
// эти массивы чем-нибудь отличаются?
string s_arr_2[ 10 ];
 
Igor Makanu :

.dll에서 MQL4로 문자열을 반환하고 싶습니다(MQL5를 사용하면 모든 것이 문제 없이 작성됨)

일반적으로 나는 이미 많은 사본을 깨뜨렸으므로 아는 사람들에게 묻고 싶습니다. 메모리의 문자열 배열이 무엇입니까? - 문자열 배열이란 무엇입니까?!

문자열 배열은 문자열 개체의 배열입니다. 어딘가에 개발자 중 한 명이 문자열에 대한 포인터와 할당된 메모리 크기의 32비트라는 두 개의 필드가 있다고 썼습니다. 일반적으로 추측하지 않도록 공식 부두에 그러한 것을 등록하는 것이 좋을 것입니다.
 
Igor Makanu :

메모리의 문자열 배열은 무엇입니까? - 문자열 배열이란 무엇입니까?!

데이터 구조 ARRAY 정보.
나는 MT5에 대한 메모리에서 설명합니다. 아이디어에 따르면 MT4에도 동일하게 적용되어야 하고, 아마도 뭔가 잘못될 수도 있지만 가깝습니다.

일반적으로 배열은 설명과 데이터의 두 부분으로 구성되지만 데이터만으로 구성될 수도 있습니다.
데이터 - 배열 요소에 할당된 메모리입니다.
설명 - 다음 필드를 포함하는 구조로 시퀀스가 저장되지 않습니다.

flags - 배열을 설명하는 플래그 집합: IsDynamic, IsSetAsSerrias, IsIndexBuffer, ...
size - 배열에서 생성된 요소의 수.
용량 - 배열의 예약된 요소 수.
생성자 포인터 - 배열 요소의 생성자 함수에 대한 포인터.
소멸자 포인터 - 배열 요소의 소멸자 함수에 대한 포인터.
데이터 포인터 - 데이터 배열의 시작 부분에 대한 포인터.

문자열 s_arr_1[]; - 설명과 데이터 배열로 구성된 동적 배열.
문자열 s_arr_2[10]; - 배열의 유형은 문자열의 위치에 따라 다릅니다.
지역 변수 로 사용되는 경우 스택에 순차적으로 위치한 데이터 배열과 설명으로 구성된 정적 배열입니다.
구조체/클래스에서 필드로 사용되는 경우 데이터 배열일 뿐입니다(설명 부분이 누락됨).
 
Sergey Dzyublik :

데이터 구조 ARRAY 정보.
나는 기억에서 설명하고 MT5의 경우 아이디어에 따르면 MT4에도 동일하게 적용되어야 하며 아마도 뭔가 잘못될 수도 있지만 거의 비슷해야 합니다.

일반적으로 배열은 설명과 데이터의 두 부분으로 구성되지만 데이터만으로 구성될 수도 있습니다.
데이터 - 배열 요소에 할당된 메모리입니다.
설명 - 다음 필드를 포함하는 구조로 시퀀스가 저장되지 않습니다.

flags - 배열을 설명하는 플래그 집합: IsDynamic, IsSetAsSerrias, IsIndexBuffer, ...
size - 배열에서 생성된 요소의 수.
용량 - 배열의 예약된 요소 수.
생성자 포인터 - 배열 요소의 생성자 함수에 대한 포인터.
소멸자 포인터 - 배열 요소에 대한 소멸자 함수에 대한 포인터.
데이터 포인터 - 데이터 배열의 시작 부분에 대한 포인터.

문자열 s_arr_1[]; - 설명과 데이터 배열로 구성된 동적 배열.
문자열 s_arr_2[10]; - 배열의 유형은 문자열의 위치에 따라 다릅니다.
지역 변수 로 사용되는 경우 스택에 순차적으로 위치한 데이터 배열과 설명으로 구성된 정적 배열입니다.
구조체/클래스에서 필드로 사용되는 경우 데이터 배열일 뿐입니다(설명 부분이 누락됨).

고맙습니다!

WinAPI의 일부 표준 구조가 존재할 수 있다는 희망이 있었지만 분명히 이것은 문자열에서 발생할 수 없습니다.

추신: 이전과 같이 2번의 호출에서 dll과의 교환을 설정했습니다. dll에서 작업을 요청하고 문자열 아래에 필요한 버퍼 크기를 반환하고 문자열을 준비된 버퍼에 복사하여 두 번째 호출을 했습니다. 작업은 로컬이지만 솔루션을 단순화할 수 있다는 희망이 있었습니다.


블라디미르 시마코프 :
문자열 배열은 문자열 개체의 배열입니다. 어딘가에 개발자 중 한 명이 문자열에 대한 포인터와 할당된 메모리 크기의 32비트라는 두 개의 필드가 있다고 썼습니다. 일반적으로 추측하지 않도록 공식 부두에 그러한 것을 등록하는 것이 좋을 것입니다.

주요 문제는 MQL4와 5가 매우 다른 프로그램이라는 것입니다))))

.Net의 MQL4에 있는 문자열은 StringBuilder 클래스 에서 완벽하게 구문 분석됩니다. 일반적으로 문자열이 여전히 메모리 영역이 아니라 특정 개체라는 것은 맞습니다.

 
что из себя представляет массив строк в памяти? - что такое массив строк?!

STRING 데이터 구조 정보
나는 MT5에 대한 메모리에서 설명합니다. 아이디어에 따르면 MT4에도 동일하게 적용되어야 하고, 아마도 뭔가 잘못될 수도 있지만 가깝습니다.


문자열은 설명 + 데이터로 구성됩니다.
설명에는 다음 필드가 포함됩니다.

buffer_len - 라인에 할당된 버퍼의 크기.
unicode_str 포인터 - 데이터 구조의 unicode_str(오프셋+8) 필드에 대한 포인터입니다.

데이터에는 다음 필드가 포함됩니다.
flags - 문자열을 설명하는 플래그 집합: 정적(0x03)/동적(0x01), 인코딩 가능...
len - 문자열 길이;
unicode_str - 설명에서 unicode_str 포인터가 가리키는 unicode_str 문자열 직접.
 
Sergey Dzyublik :

STRING 데이터 구조 정보
나는 MT5에 대한 메모리에서 설명합니다. 아이디어에 따르면 MT4에도 동일하게 적용되어야 하고, 아마도 뭔가 잘못될 수도 있지만 가깝습니다.


문자열은 설명 + 데이터로 구성됩니다.
설명에는 다음 필드가 포함됩니다.

buffer_len - 라인에 할당된 버퍼의 크기.
unicode_str 포인터 - 데이터 구조의 unicode_str(오프셋+8) 필드에 대한 포인터입니다.

데이터에는 다음 필드가 포함됩니다.
flags - 문자열을 설명하는 플래그 집합: 정적(0x03)/동적(0x01), 인코딩 가능...
len - 문자열 길이;
unicode_str - 설명에서 unicode_str 포인터가 가리키는 unicode_str 문자열 직접.

문제. 이것은 어딘가에 설명되어 있습니까, 아니면 직접 분해 했습니까?

 
Igor Makanu :

.dll에서 MQL4로 문자열을 반환하고 싶습니다(MQL5를 사용하면 모든 것이 문제 없이 작성됨)

일반적으로 나는 이미 많은 사본을 깨뜨렸으므로 아는 사람들에게 묻고 싶습니다. 메모리의 문자열 배열이 무엇입니까? - 문자열 배열이란 무엇입니까?!

문자열 배열 대신 uchar 배열만 전달합니다. 더 쉽습니다.
예를 들어 다음과 같이 변환할 수 있습니다.

 int StringArrayToCharArray ( string &stringArr[], uchar &c[]) {
   uchar temp[];
   int pos= 0 ;
   for ( int i= 0 ; i< ArraySize (stringArr); i++) {
       ArrayFree (temp);
       StringToCharArray (stringArr[i],temp);
       ArrayCopy (c,temp,pos);
      pos+= ArraySize (temp);
   }
   return pos;
}
//+------------------------------------------------------------------+

int CharArrayToStringArray ( string &stringArr[], uchar &c[]) {
   ArrayFree (stringArr);
   int pos= 0 ;
   int j= 0 ;
   for (; pos< ArraySize (c); j++) {
       ArrayResize (stringArr,j+ 1 );
      stringArr[j]= CharArrayToString (c,pos);
       while (c[pos]!= 0 ) pos++;
      pos++;
   }
   return j;
}

MQL4 및 MQL5에서 동일하게 작동

사유: