전체 글
-
InstallShield 에서 패키지 설치/삭제시 IE 를 닫고 삭제하기IT/Install Shield 2009. 5. 18. 10:46
InstallShield 로 설치 패키지를 릴리즈한 경우, 이 패키지가 실행되어 설치/삭제 작업을 수행할 때 Internet Explorer 를 모두 닫아야 할 경우가 있다. ( 예를 들면 Active X 와 같은 설치 배포본의 경우 안전한 설치/삭제를 위해 IE 를 모두 닫아준다 ) 보통 설치/삭제 시에는 FindWindow 를 사용하여 실행중인 프로세스를 찾아서 SendMessage 로 종료메시지를 보내 종료하고 재 설치하지만, Internet Explorer 의 경우 여러 개의 창을 띄워놓고 사용하는 경우가 대부분인지라, 아래와 같이 구현해 준다. BeforeMoveData 에서 OnBegin() 함수 내에서 다음과 같이 스크립트를 작성해 준다. function OnBegin() STRING svR..
-
invalid address specified to RtlFreeHeapIT/Visual Studio 2009. 5. 14. 17:01
Invalid Address specified to RtlFreeHeap 에러는 주로 DLL 관련 개발을 하다가 만나게 된다. 해결 방법은 아래와 같다. 프로그램에서 사용하는 DLL들과 메인 프로그램 모두의 설정을 아래와 같이 변경한다. Setting -> C/C++ --> Code Generation --> MultiThreaded DLL (Debug모드일 경우 MultiThreaded DLL Debug) 참고 : http://lists.trolltech.com/qt-interest/2001-10/thread00530-0.html MultiThreaded 로만 할 경우 각각의 DLL과 프로그램이 Heap을 따로 사용하고 MultiThreaded DLL로 하면 모든 DLL과 프로그램들이 Heap을 하나로..
-
map 파일을 활용한 디버그 방법IT/Visual Studio 2009. 5. 14. 17:01
윈도우즈 프로그램이 아래와 같이 알수없는 런타임 에러를 내는 경우, Visual Studio 에서 생성해 주는 map 파일을 활용하여 디버그를 할 수 있다. 원본 출처 : http://www.codeproject.com/KB/debug/mapfile.aspx 사용법 간단정리 : -------------------------------------------------------------------------------------- 1. setting - C/C++ tab : Line Numbers Only 로 설정 ( Visual Studio 2005 이상 버전에서는 삭제) 2. setting - Link tab : Generate map file 체크 3. setting - Link tab : Proj..
-
[용어정의] 서비스 지향 아키텍쳐( SOA, Service Oriented Architecture )IT/Web 2009. 4. 17. 01:25
- 서비스 지향 아키텍쳐 네트워크 상에 존재하는 정보시스템들을 플랫폼 독립적으로 유연하게 연결하여 활용하기 위한 분산 정보시스템 구조 Software Design pattern consisting of any number of registered services and service consumers (clients) in loosley coupled relationships with service providers. Service in a SOA 비지니스 소프트웨어 컴포넌트로서, 잘 정의된 인터페이스를 통해 (API 등을 ) 이름을 통해 호출되도록 디자인되어 있다. ( Open API 를 주로 활용 ) business software component, designed to be invokable by..
-
error LNK2019: unresolved external symbol "__declspec(dllimport)IT/Programming 2009. 4. 17. 01:18
[출처] error LNK2019: unresolved external symbol "__declspec(dllimport)|작성자 과유불급 DLL을 이용한 프로그램을 하다보면 초보적인 실수로 위와 같은 에러메시지가 나오는 경우가 있다. 이는 DLL에서 export한 함수를 사용하려고 하는 응용프로그램에서 호출하는 경우 link를 할 수 없다는 에러인데, 이것에는 여러가지 경우가 있을 수 있다. 1. DLL코드에서 외부로 export하려고 하는 함수에 대한 처리를 제대로 하지 않은 경우 예를 들면 extern "C" _declspec(dllexport) int SetSensInfoEntry(set_si_args_t si_t); 와 같은 함수가 DLL에서 정의되어 있어야 하는데 이에 대한 처리가 정상적으로..
-
eclipse.exe 실행시 vm 에러 대처법IT/Java 2009. 4. 8. 23:22
eclipse 를 최초 설치 후 eclipse.exe 를 실행했을 때 아래와 같은 에러가 뜨는 경우가 있다. 이 경우 eclipse.ini 파일을 열어 아래와 같이 적어준다. -vm C:\Java\jdk1.6.0_13\bin\javaw.exe -vmargs -Xms40m -Xmx256m -vm 뒤에 실제 Jre 혹은 JDK 가 설치된 Java 런타임 경로를 수동으로 지정해 주어야 하고, 메모리 설정을 해주기 위해 -vmargs -xms40m -xmx256m 와 같이 써준다 메모리를 최대 256M까지 사용하라는 뜻이다.
-
Mutex 사용 - 동일프로그램을 한개만 띄우기IT/C/C++ 2009. 4. 8. 16:17
동일한 프로그램을 2개 이상 띄우지 않는 처리 방법 아래와 같이 Mutex 를 사용하면 쉽게 구현이 가능하다. 프로그램 시작 부분인 CMainApp 의 InitInstance() 에 위치시켜 준다. //To avoid duplication executing... HANDLE m_hMutex = ::CreateMutex(FALSE, 0, _T("Global\\Test")); // Test 는 프로그램명 if(::GetLastError() == ERROR_ALREADY_EXISTS) { AfxMessageBox(_T("Already running Test Application")); return FALSE; } ReleaseMutex(m_hMutex); // Mutex 사용이 끝나면 꼭 release 해 줄..