PROFI에서 SUPERPROFI에 대한 모든 질문 - 1. - 페이지 11

 
joo :

나는 이것을했지만 여전히 같은 오류 :

준코 :

프로젝트가 자체 속성과 함께 VC++ 6.0에 복사되었습니까? 아니면 별도로 구성되었습니까?

XP에는 없는 VS 2010의 기능을 이미 세 번 사용했습니다. 모든 것이 Vista 및 7에서 작동했지만 XP에서는 터미널에 라이브러리가 표시되지 않았습니다.

준코 :

주제의 시작 부분에 썼습니다. XP에서 사용할 수 없는 WinAPI 기능을 사용하는 경우에 발생합니다. 다른 이유. 시스템의 최소 버전이 상위 버전으로 제한되는 경우.

나는 지금 같은 것을 가지고있다. 이 기능을 찾기 위해 모든 손이 닿지 않습니다.

 

Zhunko :

:

나는 이것을했지만 여전히 같은 오류 :

쥰코 :

프로젝트가 자체 속성과 함께 VC++ 6.0에 복사되었습니까? 아니면 별도로 구성되었습니까?

XP에 없는 기능을 VS 2010에서 사용한 적이 이미 세 번 있습니다. 모든 것이 Vista 및 7에서 작동했지만 XP에서는 터미널에 라이브러리가 표시되지 않았습니다.

쥰코 :

주제의 시작 부분에 썼습니다. XP에서 사용할 수 없는 WinAPI 기능을 사용하는 경우에 발생합니다. 다른 이유. 시스템의 최소 버전이 상위 버전으로 제한되는 경우.

나는 지금 같은 것을 가지고 있습니다. 이 기능을 찾기 위해 모든 손이 닿지 않습니다.

내 이유를 찾았어! 하지만 어떻게 해야 할지 모르겠습니다.

문제는 정적 메서드를 사용하는 이 클래스 메서드 구성에 있는 것으로 나타났습니다.

     static HWND HandleByProcessIdAndClass()
     {
      HWND   hwndLocal = NULL ; // Дескриптор искомого окна.
      size_t i = 0 ;

       ::EnterCriticalSection(&GetInstance()->csOne);
      ::EnterCriticalSection(&GetInstance()->csMultiple);
     ................. Здесь защищаемый код ...................
       ::LeaveCriticalSection(&GetInstance()->csMultiple);
      ::LeaveCriticalSection(&GetInstance()->csOne);
       return (hwndLocal);
     }

동기화를 제거하는 것이 좋습니다(빨간색으로 강조 표시됨). 라이브러리가 XP에 표시됩니다. 비스타에서 작동합니다.

일부 시스템 라이브러리의 버전이 충분하지 않습니까?

=======

이 수업을 희생하면서 설명할 필요가 있습니다.

정적 "Windows" 메서드가 있는 모든 클래스 메서드(그 중 약 80개)는 유사한 동기화를 갖습니다.

지정된 메서드는 다른 "WindowsMT4" 클래스의 인스턴스 생성자에서 먼저 호출됩니다.

"Windows" 클래스가 적시에 초기화되지 않는 것 같습니다.

 

이유를 찾았습니다. 앤드류가 도왔습니다. 싱글톤이 잘못되었습니다.

XP와 Vista는 클래스를 다르게 초기화합니다. 올바른 싱글톤이 필요합니다.

 
Zhunko :

이유를 찾았습니다. 앤드류가 도왔습니다. 싱글톤이 잘못되었습니다.

XP와 Vista는 클래스를 다르게 초기화합니다. 올바른 싱글톤이 필요합니다.


정말 부끄러운 일입니다. 그냥 끔찍!
 
C-4 :

정말 부끄러운 일입니다. 그냥 끔찍!
네, 알겠습니다... :-)) 정적 메서드 가 있는 클래스를 싱글톤으로 변경했습니다. 모든 것이 효과가 있었습니다.
 
Zhunko :
네, 알겠습니다... :-)) 정적 메서드가 있는 클래스를 싱글톤으로 변경했습니다. 모든 것이 효과가 있었습니다.

경험을 교환하기 위해 슈퍼 프로에게 질문 :)) - 싱글 톤을 어떻게 제거합니까?

 
alsu :

경험을 교환하기 위해 슈퍼 프로에게 질문 :)) - 싱글 톤을 어떻게 제거합니까?

명확한 자원은 무엇을 의미합니까? 소멸자에서 할 수 있습니다.
 
Zhunko :
명확한 자원은 무엇을 의미합니까? 소멸자에서 할 수 있습니다.

아니요, 개체 자체를 삭제한다는 측면에서 - 삭제할 시기를 결정하는 절차는 무엇입니까?

지금은 실질적인 목표가 없습니다. 예전에 여러 싱글톤 템플릿을 사용 하는 프로젝트 를 한 적이 있다는 것을 기억했습니다. 그래서 싱글톤을 제거하는 순간에는 항상 문제가 있었습니다. 참조 추적, 래핑을 해야 했습니다. 래퍼 등의 소멸자 .p... 그리고 예를 들어 모듈 중 하나가 예외로 인해 충돌했을 때 전체 도약이 있었습니다... 결과적으로, 이것이 내가 싱글톤을 엉망으로 만든 마지막 시간이었습니다. , 왜냐하면. 이것은 좋은 것보다 훨씬 더 많은 치질인 것 같습니다)) 어쩌면 내가 틀릴 수도 있습니다.

 
alsu :

아니요, 개체 자체를 삭제한다는 측면에서 - 삭제할 시기를 결정하는 절차는 무엇입니까?

지금은 실질적인 목표가 없습니다. 예전에 여러 싱글톤 템플릿을 사용하는 프로젝트를 한 적이 있다는 것을 기억했습니다. 그래서 싱글톤을 제거하는 순간에 항상 문제가 있었습니다. 참조 추적, 래핑 래퍼 등의 소멸자 .p... 그리고 예를 들어 모듈 중 하나가 예외로 인해 충돌했을 때 전체 도약이 있었습니다... 결과적으로 이것이 내가 싱글톤을 엉망으로 만든 마지막 시간이었습니다 , 왜냐하면. 이것은 좋은 것보다 훨씬 더 많은 치질인 것 같습니다)) 어쩌면 내가 틀릴 수도 있습니다.

최근에 싱글톤을 배웠습니다. 나는 그들 없이는 불가능하다는 것을 깨달았습니다. 삭제할 수 없습니다. 필요가 없었습니다.
 

alsu :

결과적으로, 이것이 내가 싱글톤으로 엉망이 된 마지막 시간이었습니다. 이것은 좋은 것보다 훨씬 더 많은 치질인 것 같습니다)) 어쩌면 내가 틀릴 수도 있습니다.

싱글톤을 제거하는 데 문제가 있는 경우 오용될 가능성이 높습니다. 싱글톤도 다르지만 피닉스를 예로 들어 보겠습니다.