내 접근 방식. 코어 - 엔진. - 페이지 170

 
jdjahfkahjf :
당신은 아직 거래의 미래와 그 정점이 버튼이라는 것을 이해하지 못했습니다.
그리고 이 버튼 Peter는 다른 판매자에게 판매됩니다. 차례로 무엇을 판매합니까? 당신은 그것을 추측, 버튼도.
단, 단추 판매자에게 단추를 판매하려면 다른 단추 제조업체에서 단추를 직접 구매해야 합니다.

나 죽어 :)))

 
Dmitry Fedoseev :

잘했어, 너******* 선반에서 파이를 가져와.

좋아, 나는 설명하려고 노력할 것이다:

솔루션을 따른다면 사용자는 여전히 정적 클래스 소스 코드를 프로젝트에 복사해야 하며, 이 프로젝트는 이벤트를 브로드캐스트하고 별도의 스레드에서 양식을 실행하는 등의 작업을 수행합니다. 또한 양식을 이 클래스에 정적으로 연결해야 합니다. 클래스 형식과 해당 구성 요소의 이름을 명시적으로 입력합니다. 저것들. 양식이 변경되거나 일부 요소가 추가될 때 레이어 코드를 명시적으로 수정하십시오. 즉, 간단하고 직접적인 솔루션이 당신이 보여준 특정 형식과의 상호 작용을 시연하기 위해 잘 작동할 것입니다. 일반화된 경우에는 제어 로직과 디스플레이 로직을 분리하는 것이 더 나을 것인데, 제가 한 것입니다. 또한 이 분리를 통해 비숙련 변경으로부터 컨트롤러를 보호할 수 있습니다.

다음은 왜 이런 식으로 수행되고 다른 방식으로 수행되지 않았는지에 대한 질문에 정확히 답하는 설명입니다.

이고르 마카누 :

아마도 맞을 것입니다. 사용자가 VS2017의 양식에 그래픽 요소를 스케치한 다음 VS에서 실행하여 생성을 확인하고 "모든 것이 회전 중"인지 확인하고 프로그램의 상호 작용 생성을 진행할 수 있습니다. .Net 및 MT5에서

...

당신의 방법이 아마도 더 실용적일 것입니다.

 
Реter Konow :

정확히. 사진이 포함된 거대한 Kib-code 데이터베이스가 있을 것입니다. 들어가서 코드를 선택하고 생성자에 삽입하고 연결 파일이 있는 커널을 얻었습니다. 그리고 연결은 이미 생각되었고 훨씬 쉽습니다.

따라서 별도의 파일에 각 양식이 있습니다. 더 쉬워도 가능성은 제한적입니다.

 
Dmitry Fedoseev :

따라서 별도의 파일에 각 양식이 있습니다. 더 쉬워도 가능성은 제한적입니다.

솔직히 말해서 아직 기술을 완전히 탐구하지 않았기 때문에 Vasily 솔루션의 제한된 가능성에 대해 여전히 아무 말도 할 수 없습니다.

 
Реter Konow :

Vasily는 공격적이지 않지만 그러한 패널은 다음과 같습니다.

다음과 같은 코드가 있습니다.

이 코드는 단순히 서로에게 전송되거나 공통 데이터베이스에 배치될 수 있으며 모든 사람이 특별한 양식을 그릴 필요가 없습니다.

생성자에 붙여넣고 요소 및 연결의 모든 매개변수가 있는 다른 창을 얻었습니다.

Peter, 당신을 위해 같은 패널을 그리려면 당신의 마크업 언어를 배워야 합니다. 사용자가 Visual Studio 에서 이 패널을 그리려면 마우스와 기본 기술만 있으면 됩니다. 차이가 느껴지시나요?

 
Реter Konow :

솔직히 말해서 아직 기술을 완전히 탐구하지 않았기 때문에 Vasily 솔루션의 제한된 가능성에 대해 여전히 아무 말도 할 수 없습니다.

그리고 나는 Vasily의 결정이 아니라 한계에 대해 썼습니다.

 
Vasiliy Sokolov :

Peter, 당신을 위해 같은 패널을 그리려면 당신의 마크업 언어를 배워야 합니다. 사용자가 Visual Studio에서 이 패널을 그리려면 마우스와 기본 기술만 있으면 됩니다. 차이가 느껴지시나요?

Vasily, 내 마크업 언어를 연구하고 패널을 작성합니다. 수천 명의 다른 사람들이 패널의 사진을 보고 완성된 사이버 코드를 가져옵니다. 그들은 그것을 내 생성자에 삽입하고 프로그램에서 이 패널을 가져옵니다.

 
Реter Konow :

나는 그것을 미리 읽었지만 세부 사항을 탐구하기 위해 계속 다시 읽을 것입니다.

1. 기사에 초당 5회 요청이 표시되는 이유는 무엇입니까? 나는 30ms의 주파수를 가지고 있습니다.

2. 천 개의 셀이 있는 테이블에 대한 링크가 어떻게 보이는지 보여줄 수 있습니까?

3. 내가 이해하는 한, GuiController::SendEvent 함수로 보낸 이름으로 양식의 요소에 호소하는 것입니까? 모든 매개변수를 지정해야 합니까? 이름, 이벤트, 가치? 일부 다른 0 ... 그리고 이벤트 주기를 수행하는 타이머?

즉, 사용자가 직접 이벤트 큐를 구성한 다음 타이머의 컨트롤러에 전달합니까?


내 주제의 훌륭한 광고에 대해 감사를 표해야 합니다.

1) 상관없습니다. 모든 주파수를 설정할 수 있습니다.

2) 지금은 테이블이 지원되지 않습니다.

3) 예, 이름으로 호출합니다. 모든 매개변수를 지정해야 합니다. 그러나 가장 중요한 것은 단일한 단일 이벤트 모델 이 없다는 것입니다. 당신의 모델을 원하십니까? 기본으로 하세요. 타이머 없이는 할 수 없습니다.

이벤트 큐는 이벤트를 안정적으로 처리하기 위한 일반화된 알고리즘입니다. 사용자는 아무 것도 작성하지 않으며 자신이 생성한 이벤트는 대기열에 포함됩니다. 대기열 자체는 99.9%의 시간 동안 단 하나의 이벤트로 구성됩니다.

 
Vasiliy Sokolov :

좋아, 나는 설명하려고 노력할 것이다:

솔루션을 따른다면 사용자는 여전히 정적 클래스의 소스 코드를 프로젝트에 복사해야 하며, 이 프로젝트는 이벤트를 브로드캐스트하고 별도의 스레드에서 양식을 실행하는 등의 작업을 수행합니다. 또한 양식을 이 클래스에 정적으로 연결해야 합니다. 클래스 형식과 해당 구성 요소의 이름을 명시적으로 입력합니다 . 저것들. 양식이 변경되거나 일부 요소가 추가될 때 레이어 코드를 명시적으로 수정하십시오. 즉, 간단하고 직접적인 솔루션이 당신이 보여준 특정 형식과의 상호 작용을 시연하기 위해 잘 작동할 것입니다. 일반화된 경우에는 제어 로직과 디스플레이 로직을 분리하는 것이 더 나을 것인데, 제가 한 것입니다. 또한 이 분리를 통해 비숙련 변경으로부터 컨트롤러를 보호할 수 있습니다.

다음은 왜 이런 식으로 수행되고 다른 방식으로 수행되지 않았는지에 대한 질문에 정확히 답하는 설명입니다.

가장 큰 문제는 폼을 별도의 스레드에서 실행하는 것이지만 두 줄의 코드로 해결할 수 있다는 것, 즉 결국 문제가 되지 않는다는 것이다. 또한 내 예에서 두 번째 양식의 열기는 이 작업이 얼마나 쉽고 간단하며 별도의 스레드에서 얼마나 많은 양식을 열 수 있는지 보여주기 위해 특별히 만들어졌습니다.

그러나 인용문에서 강조된 것은 무엇입니까 - 건초가 무엇입니까, 짚이 무엇입니까? 예! 바나나를 먹으려면 껍질을 벗겨야 합니다.

 
Реter Konow :

솔직히 말해서 아직 기술을 완전히 탐구하지 않았기 때문에 Vasily 솔루션의 제한된 가능성에 대해 여전히 아무 말도 할 수 없습니다.

가능성에 대한 제한은 없으며 모든 것이 Windows 그래픽 요소 의 기능에 의해 더 이상 또는 덜 제한되지 않습니다. " GuiController의 후드 아래 " 섹션의 기사를 읽고 양식 디자이너에 필요한 컨트롤을 추가하고 어떤 이벤트를 고려하는지 확인하십시오. <요소 - 핸들러 이벤트 목록>에 추가하려면 MT5에서 수신해야 합니다.

바실리 소콜로프 :

2) 지금은 테이블이 지원되지 않습니다.

나는 또한 Peter를 기쁘게 할 것입니다. .Net의 .dll에서 별도의 형식으로 테이블 작업을 만들었습니다. 마우스 오른쪽 버튼 이벤트, 정렬 및 기타 dataGridView는 모든 것이 작동하는 것을 기쁘게 합니다. 실험 측면에서 테이블을 터미널로 사용했지만 오히려 변덕스럽습니다. 그리고 느린 dataGridView, 나는 그것으로 많은 것을 시도했습니다 (그리고 datatable 복제를 채운 다음 dataGridView에 묶인 datatable에 복사하고 ... 그리고 1 주일 동안 Google과 실험하면서 dataGridView는 완전한 실패입니다 - 당신 3-5초보다 더 자주 쓸 수 없음) 10 x 11 테이블은 이미 중요하지만 테이블이 있는 양식이 별도의 스레드에서 작동하더라도

추신: 약 5년 전에 Delphi에서 StringGrid를 2시간 만에 MT4로 연결했습니다. 모든 것이 어떻게 작동하는지 전혀 걱정하지 않았지만 Microsoft dataGridView로 모든 것이 날아갔습니다. 하지만 오늘은 리뷰에 따르면 타사 SourceGrid는 dataGridView가 더 빠릅니다.