본문 바로가기

분류 전체보기381

XE2 에서 Custom VCL Style 을 리소스로 포함하여 사용하기 다음은 직접 제작한 vsf 파일을 리소스로 포함하여 사용할 경우이다. 먼저, Project > Resources and Images.. 를 실행한다. Add... 버튼을 클릭하여 제작한 vsf 파일을 선택한 후, Resource type 을 VCLSTYLE 로 입력한다. Resource identifier 에는 리소스를 불러올때 사용할 이름을 지정한다. 프로젝트에 생성된 RC 파일을 추가한다. 끝으로, 프로젝트 소스에 리소스로부터 스타일을 불러오도록 아래의 코드를 CreateForm 이전에 추가한다. 이때 반드시 uses 에 Vcl.Themes 와 Vcl.Styles 를 추가하여야한다. TStyleManager.SetStyle(TStyleManager.LoadFromResource(HInstance, '.. 2012. 8. 9.
천상비 익히고~ 송암도로 가다. 점심 시간과 퇴근 후 시간을 활용하여 부캐가 17 레벨이 되었다. 중간중간 올림픽 시청하는 재미도 쏠쏠~ 아무튼 화중 사형과의 안타까운 이별 후, 녹명촌에서 채집과 제작 관련한 선택을 하여야하는데 약초와 수리도구 위주로 결정하였다. 검사로 할 때는 혼자서 힘들게 많이 했는데 여자(ㅡㅡ) 기공사로 한 후 기분인지 몰라도 파티가 잘 된다. 대왕역병충이나 귀염꼬리 같은 경우 패턴을 알고있는 터라 혼자서 충분히 할 수 있을거란 생각이 들었지만... 파티로 플레이했다. 귀염꼬리의 경우 꼬리 색깔(주황색일 때만 회피... 그 외에는 막기)만 잘 보면 되는데 탱하시는 검사분한테 설명하려다 그냥 참았다. 재미나게하면 그만인데 훈수두는 거 볼썽사나울 뿐...ㅎ 아무튼 15레벨에 이르면 수련 계곡과 기연절벽으로 가서 경공.. 2012. 7. 31.
블레이드 앤 소울 기공사 부캐를 키우다. 블소 6개월 선결제 호갱님이지만, 퇴근 후와 주말에 짬짬이 하는 탓에 남들 다 찍는 만렙도 아직 못하고 있다. 차라리 다행일까? 본캐는 현재 42렙... 앞으로 3렙업만하면 만렙이다. 그러고보면 블소의 컨텐츠 부족은 심각한 상황이 아닌가 싶다. 나같은 라이트 유저가 한달만에 거의 종착역에 다다랐으니... (6개월 선결제 어쩔겨.. ㅠㅠ) 이번 주, 만령강시 잡을땐 오토들이 우글우글우글~ 난리도 아니었다. 내가 하는 일은 오토들이 결계 수호자를 잡으면, 혹은 오토들이 몹을 인식하지 못할때 몹 끌고 와서 이지메의 향연을 펼칠 수 있게 도와주는 것이었다. 물론, 떨궈진 구슬을 주워 봉인을 해제하는 건 오토들이 못하기에 마당쇠처럼 구슬 주워다 나르는 역할을 해줘야한다.(미친 적응력.. ㅋㅋ) 아무튼 그렇게 본캐.. 2012. 7. 30.
FieldByName 사용팁 FieldByName 의 소스를 보면 다음과 같다. function TDataSet.FieldByName(const FieldName: string): TField; begin Result := FindField(FieldName); if Result = nil then DatabaseErrorFmt(SFieldNotFound, [FieldName], Self); end; 3행의 FindField 메소드의 소스는 다음과 같다. function TDataSet.FindField(const FieldName: string): TField; begin Result := FFields.FindField(FieldName); if (Result = nil) and ObjectView then Result := F.. 2012. 7. 25.
ISAPI 기반 어플리케이션 서버의 데이터베이스 커넥션 처리 DataSnap REST Application Server 또는 SOAP Application Server 를 ISAPI 로 개발할 수 있다. 이때 해당 모듈을 데이터베이스 미들 티어로 사용할 경우라면 DB 커넥션에 대하여 몇 가지 작업을 해주어야한다. 1. 커넥션 관리 Wizard 에서 기본 생성되는 코드를 사용할 경우, 세션이나 요청별로 데이터베이스 커넥션이 발생하여 무수한 TIME_WAIT 를 발생시킨다. 물론 잦은 쿼리가 발생한다면 해당 쿼리당 커넥션 요청이 재발생하여 응답이 느려질 것이다. 다음은 데이터베이스 커넥션을 하나 생성해서 사용하는 방법이다. 물론, 풀링을 구현해서 사용하여도 좋을 것이다. 웹서비스로 개발되었다면, Service activation model 을 Global 로 해준다... 2012. 7. 20.
Delphi XE2 에서 DataSnap REST Application Client 프로젝트에서 New Item 을 실행한 후, DataSnap REST Client Module 을 추가한다. REST Application Server 가 다른 서버에 위치하는 경우엔 Remote Server 를 선택한다. 해당 서버가 단독 실행형이 아닌 IIS 에서 동작한다면, IIS module 을 선택한다. Host name 에 서버의 주소를 입력하고, Port 는 IIS 의 포트를 입력한다. 각종 테스트로 인하여 예제를 든 서버의 경우 9090 포트를 사용하고 있다. URL path 에 어플리케이션 서버가 위치하고 있는 경로를 입력한다.(예로 든 IIS 설정은 2012/06/05 - [프로그래밍/Delphi] - DataSnap REST Application ISAPI 배포 - IIS 7.5 의 .. 2012. 7. 13.
수인선타고 소래포구역으로... 인천 수인선 일부 구간이 개통되었다는 소식을 듣고 주말 오후 소래포구에 잠시 갔다왔다. 시작은 연수역에서부터... 사진에는 나와있지 않지만, 어르신들이 꽤 많았던 걸로 기억한다. ^^;; 사실 사진 찍는게 아직 쑥스럽고 그래서 대충대충 급하게 찍곤하는데... 그 덕에 중요한 지하철은 찍지도 못했다. ㅠㅠ 그리고 어느새 도착한 소래포구역~ 역을 빠져나오니 반겨주는 안내석... 인천 토박이가 아닌지라 잘 몰랐는데, 원래 95년까지 운행되던 구간이었다는 사실을 알고 조금 놀랬다. 2번 출구로나와 쭉 올라가면 나오는 "소래포구 종합어시장" 저 곳을 지나쳐 좀 더 올라가 좌측 도로를 따라 들어가면 젓갈시장과 각장 해산물을 살 수 있는 소래포구 어시장이 나타난다. 일단, 밥을 먹고 간 뒤기도 하고 날도 더운 터라 .. 2012. 7. 9.
dbExpress MySQL 5.1 한글 테이블명 사용 최근 대부분의 플랫폼에서 유니코드를 지원하는 관계로 자연스레 한글 사용이 늘고 있는데, DBMS 의 테이블명이나 칼럼명도 한글로 사용하는 경우가 있다. MySQL 5.1 에서 기본 문자열을 utf8 로 정의한 후 이를 확인한다. SHOW VARIABLES LIKE 'char%'; 이후 델파이에서 TSQLConnection 설정 후, TSQLQuery 를 실행하거나 TSQLTable 을 사용할 경우 Syntax 오류 또는 ???? 로 테이블명이 나타날 것이다.(아참, libmysql.dll 은 32비트 버전을 구하여 시스템 폴더에 넣어야한다. 64비트 윈도우즈에서도 마찬가지이니 주의할 것.) 해결 방법은 간단하다. TSQLConnection 의 Params 에서 ServerCharSet 을 지정해주면 된다.. 2012. 6. 26.
Delphi XE2 에서 DataSnap REST Application Cross Domain 처리 기껏 REST 서버를 구축하여도 만약 해당 서버 어플리케이션의 API를 또 다른 서버에서 호출하여 사용할 경우, 접근 권한 문제가 발생한다.(대충 그려보았다.) 이를 해결하는 다양한 방법들이 존재하는데... 익스플로러 및 어지간한 예전 웹브라우저들까지 모두 지원하려면 JSONP 를 사용하여야 한다.(서버에서 access-control-allow-origin:* 을 헤더에 싣는 방법도 있지만, 최신 웹브라우저에서만 올바르게 동작하며 익스플로러에선 제대로 동작하지 않는다.) 일단, JSONP 에서 요구하는 형태로 결과를 반환하여야하는데 XE2 에 추가된 TDSHTTPWebDispatcher 의 FormatResult 이벤트 메소드를 아래와 같이 만지작거려야한다. procedure TWebModule1.DSH.. 2012. 6. 20.
DataSnap REST Application ISAPI 배포 - IIS 7.5 1. IIS 에서 ISAPI 사용 설정 IIS 관리자의 ISAPI 및 CGI 제한을 더블클릭한다. 기능 설정 편집... 을 클릭한 후, 지정하지 않은 ISAPI 모듈 허용을 선택한다. 2. IIS 가상 디렉토리 설정 별칭(Alias)을 지정한다. 해당 실제 경로에는 빌드된 파일들이 위치하고 있다. 추가된 Alias 를 선택한 후 응용 프로그램으로 변환을 실행한다. 응용 프로그램 추가 창이 뜨면 확인 버튼을 클릭한다. 3. 응용 프로그램 풀 검사 응용 프로그램 풀을 선택하고 DefaultAppPool 을 선택한 다음, 고급 설정을 클릭한다. 빌드한 DLL 이 32 비트인 경우, 일반 탭의 32비트 응용 프로그램 사용을 True 로 변경한다. 프로세스 모델의 ID 를 선택하고, 지정된 값이 Applicati.. 2012. 6. 5.
Delphi XE2, dbExpress Oracle 10g 연동 오라클 연결시 필요한 라이브러리가 있는데, 이를 위해 오라클 클라이언트를 별도로 설치하는 것은 아무래도 배포시 거추장 스럽다. 일단, http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 에서 해당하는 instant client 를 다운로드 받는다. XE2 dbExpress 가 지원하는 데이터베이스와 해당 버전은 다음과 같으니 참고하면 된다. InterBase XE, 2009, 2007, 7.5.1, 7.1*, 8.0*, 6.5* (All) (Driver dbxINT.dll, Client GDS32.DLL)Firebird 2.5, 2.1, 1.5 (Ent/Ult/Arch) (Driver dbxfb.dll, .. 2012. 5. 30.
행운목 뿌리가 나오다. 죽어가던 행운목을 살린지 어느덧 7개월이 지났고 드디어 뿌리가 나오기 시작하였다.(2011/09/28 - [일상생활] - 행운목 되살리다. ^^) 벌써 7개월이라니... 이렇게 나무의 성장을 보다보면 느린 시간의 미학을 느낄 수 있어 좋다. 아무튼 이 상태로 좀 더 뿌리가 많아지면 화분에 옮겨 심을 생각이다. 그리고 한 10 년 정도 키우다보면 꽃을 피울 날이 오겠지... 나이가 들어감이 아쉬울때가 있지만 이렇듯 나무의 성장을 생각하다보면 또 그것이 기다려지는게 사람 마음이 아닐까? 2012. 5. 20.
5월 23일 노무현 대통령 3주기를 즈음하여... 이제는 쓰지않는 옛폰에서 그의 편린들을 꺼내본다. 벌써 3년전인가? 나는 죄인처럼, 혼자 남겨진 죄인처럼 불도 켜지못하고 휩쓸렸다. 머릿속이 온통 혼란스러웠다. 나는 그냥 잘 살아왔다. 정치는 혐오하면 그 뿐이고, 투표에 대한 거부 행위는 누가 뭐라든 나의 확신이었다. 애초 찍을 사람이 없는데... 어떤식으로든 동참하는 건 차라리 기만으로 느껴졌다. 그랬던 내가 처음으로 가족 아닌 타인을 위해 눈물을 흘려야했다. 창 하나 넘어 보아오던 그가 폭력에 죽은 것이다. 현실에 깨지더라도 치열하게 살던 그가, 나의 또 다른 모습같기조차했던 그가 무기력하게 무너진 것이다. 이것은 불의였고, 분노는 나 자신을 향했다. 그럴 수 밖에... 그의 영정이 점점 가까워질수록 지난날 나의 확신은 궤변이 되고 초라한 자기합리화.. 2012. 5. 14.
더리버사이드 호텔 따뚱, 베이징덕 ~ 몇 달전 티몬에서 구매한 베이징덕 한마리 SET~ 미루고 미루다 거의 종료일에 맞춰 방문하게 된 더리버사이드 호텔(이름 참 거창하네..;;) 2층 중식당, 따뚱... 오후 1시 예약이었지만 30분 일찍 도착하였고 걱정과는 달리 바로 자리 안내를 받았다. 점심 시간이었지만 비교적 한산한 분위기였고 안쪽 자리에 착석. 오른쪽 벽면은 대충 이런 느낌... 초록색이 왠지 촌스럽게 느껴지지만 사진과 달리 분위기는 나쁘지 않았다. 기본 세팅은 오이, 대파, 땅콩(껍질째 볶았는데 맛있었음), 짜사이... 그리고 세트 메뉴, 탕수육도 괜찮았고 새우요리도 맛있었다. 이윽고 오리 등장, 한마리를 직접 손질해주는데 모두 3접시로 나눠 담아준다. 뭐, 자주 먹는 요리도 아니고 그냥 월남쌈 싸먹듯 먹었다. 일단, 전병... 한.. 2012. 5. 2.
Windows 2008 원격데스크탑 설정 제어판, 시스템에서 원격설정을 클릭한다. 클라이언트 윈도우가 XP SP3, Vista, 7 이상일 경우 3번째 항목을 선택한다.(정품이 아닐 경우 접속이 안될 수도 있다.) 방화벽 및 절전모드 관련한 경고창이 뜨는데 관련 설정을 확인한다. 허용되는 프로그램을 확인한다. 전원관리 옵션을 서버운영이라는 이름으로 새로 만들어 적용하였다. 이 글은 원격 접속시 사용할 사용자 계정으로 Administrator 를 사용하였는데, 만약 별도 사용자를 추가하는 경우이고 소속 그룹이 Administrators 가 아니라면 원격 접속 권한을 가지고 있는 Remote Desktop Users 그룹을 지정하여야한다. 2012. 4. 26.