천객만래 [千客萬來] (It has an interminable succession of visitors)

[개발/VC] xdebug, xlocale 관련 error

컴파일이나 빌드를 하면 xdebug, xlocale 관련 에러가 무지하게 많이 발생하는 경우가 생긴다.


이 에러는 다음과 같이 해결할 수 있다.

단 번에 해결이 안되더라도 꼼꼼하게 소스파일을 찾아서 수정해야한다.


#ifdef _DEBUG

#define new DEBUG_NEW

#endif


항상 .cpp 파일에서 위의 3줄 위에 #include 나 #pragma comment(lib, ...)를 선언해야 한다

Posted by SB패밀리

[개발/VC] xdebug, xlocale 관련 error

컴파일이나 빌드를 하면 xdebug, xlocale 관련 에러가 무지하게 많이 발생하는 경우가 생긴다.

이 에러는 다음과 같이 해결할 수 있다.
단 번에 해결이 안되더라도 꼼꼼하게 소스파일을 찾아서 수정해야한다.

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

항상 .cpp 파일에서 위의 3줄 위에 #include 나 #pragma comment(lib, ...)를 선언해야 한다.


쌈꼬쪼려 소백촌닭
Posted by SB패밀리


파워빌더 리스트뷰(ListView) 속도 문제

파워빌더의 Compile->Run을 통해 수행할 때와
파워빌더에서 Deploy 후 exe 파일에서 수행할 때의 속도문제


ListView에서 *.bmp 파일을 로딩할 때와
그 이외의 이미지 확장자를 이용할 때의 이미지 추가할 때의 속도가 다르다.

파워빌더의 Compile->Run을 통해 수행할 때에는 눈에 띄게 구별되지 않아
문제가 되지 않는다.

하지만, 파워빌더에서 Deploy 후 exe 파일에서 ListView 컨트롤에서
이미지를 추가할 때 속도가 눈에 띄게 느리다. 대략 1~3초 사이가 걸린다.
컴퓨터 사양에 따라서 다를 수 있지만 누가봐도 차이가 난다는 사실이다.

ListView를 이용하여 개발하는 개발자라면 이 사항은 꼭 참고하기 바란다.

Posted by SB패밀리
파워빌더에서 DEBUG나 RUN을 모드에서 실행시의 속도와
Deploy를 통한 어플리케이션 모드에서 실행시의 속도가 다른 경우가 발생하는데
여기에 대한 질문과 답변예를 살펴보자.


질문1)

10.0으로 파워빌더를 업그레이드 하기 전에 트라이얼 버전으로 문제가 없는지 체크를 하고 있습니다. 저희 시스템이 기존에 7.0으로 개발이 되어있는 상태였는데요 pb 9버전으로 마이그레이션 후 pb10.0으로 마이그레이션 하고 테스트를 진행 했습니다. 마이그레이션은 에러없이 정상적으로 되었구요.. 소스에서 실행 했을때 문제 없이 작동도 잘 됩니다. 그런데 문제는 컴파일을 했을때 인데요.. 프로그램을 실행후에 Window가 Open되는데 25초 이상이 걸립니다. 그 후에도 프로그램의 실행 속도가 엄청나게 느려지고 프로그램의 기능도 소스에서와 다르게 작동을 합니다. 이런 현상을 글로써 설명하기가 굉장히 힘이 든데요. 소스로 테스트 했을때와 컴파일 후에 다르게 실행이 된다는것이 이상하구요. 7.0에서는 아무 문제없이 쓰던 소스 그대로 인데 이렇게 되는게 이상합니다. 그래서 pb 10.0이 문제 인가 해서 pb 9.0에서 컴파일을 했는데요 역시 마찬가지 현상이 나타납니다.

답변)

질문 내용을 보았을때 속도가 느려지는 것은  10으로 마이그레이션 해서 그런것이 아니라 라이브러리 리스트 구조상 무언가 잘못지정되어 있는 것이 있는게 아닌가 싶습니다. 예를 들어 실제 오픈 되는 윈도우가 있는 PBL가 이 윈도우가 참조하는 다른 오브젝트가 다른 PBL에 있는데 이 PBL경로가 다른 폴더에 있거나... 아니면 오픈되는 윈도우가 계승을 받은 윈도우 인데...조상 윈도우의 라이브러리 위치가 뒤에 있거나, 이런 부분을 조정을 해 보시기 바랍니다.


질문2)
파워빌더로 현재 어플리케이션을 개발중입니다.
현업에서 어플리케이션 실행 시 속도가 너무 느려 점검해본 결과 파워빌더에서 소스 실행시와 어플리케이션(실행파일)에서 실행 시에 DB 연결 속도 차이가 무려 10배 이상 나고 있습니다. 아직 데이터 건수가 많지 않아 조회 시 속도가 느린지는 확인되지 않고 있습니다.
이런 현상이 일어나는 원인이 무엇이며, 해결책이 있는지 알고 싶습니다.
참고로 기타 인터넷 속도등은 전용망이기 때문에 잘 나오고 있습니다.
답변)
개발툴과 실행파일 사이에는 이미 로드된것을 이용하는것과 안하는것의 차이가 있습니다.
개발 툴에서 실행시 데이터베이스 연결은 물론 필요한 Object들이 이미 메모리에 로드되어 있어서 말씀하신 속도의 차이를 보일 수 있습니다.
하지만 이러한 속도는 실행 모듈에서 어플케이션이 실행되고 나면 조회에 있어서는 같은 속도를 유지 해야 됩니다.
만약 데이터 조회에 있어서도( DB 연결 후) 말씀하신 속도의 차이가 있으면 어딘가에 문제가 있다고 볼수 있습니다.
또한 어플리케이션 Open 시 과도한(사용하지 않는) 오브젝트를 로드한다든가 LIbrary Path 마지막에 있는 오브젝트를 로드하는 방법은 많은 시간을 소요할 수 있습니다. 그러므로 일반적으로 어플리케이션이 Open 시 사용되는 Object는 어플리케이션과 같은 PBL에 위치를 시키고, 실행 파일 만들때 이 pbl만 pbd Check를 빼서 속도를 최대화 하실 수 있습니다. 

 

Posted by SB패밀리