본문 바로가기

Out of memory 오류 해소 방안 메모리 부족(Out of memory) 오류 해소 방안을 델파이 기준으로 설명합니다.증상윈도우즈 기반 애플리케이션 시작 또는 실행 중 Out of memory 예외(Exception)이 발생 원인데스크탑 힙 제한에 의한 메모리 부족메모리 누수(Leak)에 의한 메모리 부족과도한 메모리 사용에 의한 메모리 부족 조치방법데스크탑 힙 제한에 의한 메모리 부족데스크탑 힙 제한에 의한 메모리 부족 오류가 발생할 수 있습니다. 마이크로소프트 지원 페이지에서 레지스트리를 수정하는 해결 방법을 안내합니다.https://support.microsoft.com/ko-kr/kb/947246 메모리 누수(Leak)에 의한 메모리 부족프로그램내에서 할당된 메모리를 사용 후 반환하지 않는 메모리 누수가 반복될 경우 메모리 부족이.. 더보기
[필립스 휴] API 정리 필립스 휴는 REST API를 통해 전구를 제어할 수 있는 제품입니다.필립스 휴 : http://www2.meethue.com/ko-kr/ 구성 전구는 브릿지를 통해 제어하며, 애플리케이션은 브릿지에게 명령을 전송하면 브릿지가 개별전구를 제어하는 방식으로 구성됩니다. 브릿지는 여러개의 전구와 ZigBee로 연결되어 있습니다. 필립스 휴 API 시작하기http://www.developers.meethue.com/documentation/getting-started사용자 등록Addresshttp:// /apiBody{"devicetype":"사용자 아이디"}MethodPOST조명 ON/OFFAddresshttp:// /api/{사용자 아이디}/lights/1/stateBody{"on":false}Method.. 더보기
마우스 이벤트 캡쳐 - SetCapture, ReleaseCapture 마우스 이벤트를 캡쳐해야 하는 경우 SetCapture(Win32 API)를 이용하면 됩니다.다 사용한 경우 ReleaseCapture로 해제합니다. Win32 API: SetCaptureWin32 API: ReleaseCapture 아래 예제는1) 폼위에 패널 위치2) 폼과 패널은 각각 MouseMove 이벤트에서 로그 기록3) 패널에서 MouseDown 시 폼으로 SetCapture 시도 > 이후 패널 및 메모 위의 마우스 이벤트가 폼에서 발생4) MouseUp 시(폼에서 마우스 이벤트를 가져가 폼의 MouseUp이벤트에서 구현필요) ReleaseCapture로 캡쳐 해제procedure TForm2.FormCreate(Sender: TObject); begin FIsCaptured := False;.. 더보기
모바일 디바이스 화면 방향전환 이벤트 수신하기 모바일 디바이스의 방향을 가로 또는 세로, 그리고 역방향으로 돌리는 동작을 알아낼 수 있습니다. 파이어몽키 프레임워크에서 제공하는 기능으로 TMessageManager에 구독해 이벤트를 받을 수 있습니다.(부가적으로 이런 개발 방식을 옵저버 패턴이라고 합니다.^^) 위 스크린샷은 1) 시작(폼생성) 시 TMessageMenager에 TOrientationChageMessage에 대해 OrientationChaged 이벤트를 구독하고2) 종료 시 : 구독을 해지합니다.3) 현재 스크린 방향은 IFMXScreenService.GetScreenOrientation 메소드를 통해 알아 올 수 있습니다. 자세한 내용은 아래 샘플코드를 통해 확인하세요.델파이 10.1 베를린 버전으로 작성되었습니다. 해당 내용은 델.. 더보기
Object Pascal Style Guide 여러명이 협업하는 프로젝트에서는 표준화가 매우 중요합니다.코딩 스타일 표준화에 참고할 수 있는 Object Pascal 스타일 가이드문서입니다. 영문(원문): http://edn.embarcadero.com/article/10280 한글번역 문서:http://documents.mx/documents/object-pascal-style-guide-kor.html 델마당의 김시준님글과 깨몽(이선우)님의 글을 참고했습니다.http://www.delmadang.com/community/bbs_view.asp?bbsNo=3&bbsCat=0&indx=451050&page=1 더보기
TListView Dynamic Appearance로 추가한 항목을 코드로 제어하기 (해당 기능은 RAD 스튜디오 10.1 베를린 이상에서 사용할 수 있습니다.) TListView는 이미 정의된 ItemAppreance를 이용해 목록을 구성하기 때문에 TListBox에 비해 스크롤이 부드럽고 빠릅니다. 하지만, 베를린 버전에서 Dynamic appreance 기능이 추가되어 아래 그림과 같이 아이템 항목을 마음대로 정의할 수 있습니다. Dynamic Appreance에 대한 자세한 내용은 아래 링크를 참고하세요.http://docwiki.embarcadero.com/RADStudio/Berlin/en/Customizing_FireMonkey_ListView_Appearance#Customizable_Item_Appearances오늘 소개할 내용은 위와 같이 사용자가 추가한 항목을 코드를.. 더보기
리눅스(우분투) 설치 델파이와 C++빌더가 리눅스 서버를 지원하는 등의 로드맵이 2016년 8월 공개되었습니다.[로드맵] RAD 스튜디오 로드맵(2016년 8월) : http://tech.devgear.co.kr/delphi_news/424583그래서, 가상머신(VMWare)에 리눅스를 설치해봤습니다. 그것도 최근 핫한 우분투로... 설치 과정은 상당히 간단했구요. 한글설정 관련해 몇가지 이슈가 있었지만 인터넷을 찾아 금방 해결했습니다.관련 링크 몇가지 공유합니다. PS - 델파이 제품관리자 Marco Cantu가 리눅스 25주년 기념으로 델파이로 리눅스 컴파일한 이미지 몇장을 올려놨네요.http://blog.marcocantu.com/blog/2016-august-linux-25-delphi-coming.html 리눅스도 .. 더보기