델파이 폼 파일(DFM) 로딩 버그

2010/08/28 13:48
며칠 전 짧은 일정으로 대만에 있는 고객사에 다녀왔습니다...
고객사의 공장에서 고객이 직접 요청하는 기능을 현장에서 바로 프로그래밍 해주고 돌아 왔는데...

급히 코딩하고 있는 와중에 기능 테스트를 하려고 간단한 데이터 가공 프로그램을 만들고 있었습니다.

아래 그림처럼 폼 위에 TButton 콤포넌트를 올려 놓고 버튼을 클릭하면 무언가 동작을 하도록 코딩을 했습니다.

사용자 삽입 이미지

코딩을 마치고 컴파일....!!
사용자 삽입 이미지

정상적으로 컴파일 완료가 되었고 바로 실행...!!

그런데 화면이 바로 안뜨고 한참을 기다리게 하더니 아래 그림처럼 Stack Overflow 에러를 내뱉어 버리네요...

사용자 삽입 이미지

"엇... 왜 이러지...?" 하면서 Break 버튼을 누르고 Call Stack을 살펴보니
사용자 삽입 이미지

DFM 파일에서 폼을 로딩하면서 먼가 오류가 발생한것 같더군요...

버튼 하나 밖에 없는 폼이 왜 로딩하면서 에러가 날까...?  

한참 디버깅하며 삽질을 하다가 발견한 어이없는 에러...!!
바로... 첫번째 그림처럼 델파이 콤포넌트 파레트에서 TButton을 검색해서 폼에 추가하는 작업을 하다가 무언가 조작 실수로 폼의 이름을 Button으로 입력해 버린겁니다...

폼에서 사용하고 있는 콤포넌트의 클래스 이름을 폼 이름으로 사용해 버리면 이런 현상이 발생하는 거였습니다.즉 TForm에서 상속 받은 폼의 클래스 이름이 TButton이 되어 버려서 문제가 된것으로 보입니다.

Delphi 2007하고 Delphi 2010에서 확인해 봤는데 같은 증상이더군요...

조심해서 사용하면 되겠지만 IDE에서 이런 오류는 사전에 경고를 띄워주거나 VCL의 DFM 로딩 루틴에 개선이 필요할 것 같습니다.

RAD Studio XE...?

2010/08/23 14:03
사용자 삽입 이미지

 RAD Studio XE 가 곧 출시될 예정입니다.
엠바카데로 본사에선 미리보기로 기능을 소개하는 페이지가 열려 있습니다. 한국에선 오는 9월 2일 제품 발표회를 겸한 세미나가 개최될 예정이구요...

 RAD Studio XE는 기존 RAD Studio 2010의 다음 버전으로서 2006부터 붙여온 년도를 제품 명칭에 붙이지 않고 새로운 브랜드로 XE를 사용한다고 합니다... 앞으로 다음 버전이 나오면 XE2, XE3 이렇게 붙인다고 하는군요.

 이번 RAD Studio XE에 새롭게 추가된 기능은 Sneak Preview 페이지를 통해 소개하고 있습니다. 곧 3탄이 나오겠지만 1/2탄을 보면 그동안 개발자들이 애타게 기다려온 64비트 지원이나 크로스플랫폼 지원은 포함되어 있지 않습니다. 개인적인 느낌으로는 RAD Studio XE는 핵심 기능보다는 주변 기능(^^)과 안정성 증대에 좀 더 신경을 쓴것 같아 보입니다.

지금가지 알려진 개선점을 보면
  • RadPHP의 통합(별도 제품이었던 Delphi for PHP)
  • 서브 버전 클라이언트 통합
  • 기존 소스로 부터 시퀀스 다이어그램을 생성해주는 기능
  • 디버거, 코드 포맷터, RTL 개선
  • 그리고 이미 시장에서 인정받고 있는 몇몇 써드 파티 툴(Final Builder, AQtime, CodeSite, IP*Works 등)이 번들된다고 합니다. 저도 이미 사용 중이고 지인들에게 추천하는 것들이네요...^^

 며칠 전 공개된 개발 로드맵을 보면 2011년 상반기에 64비트 컴파일러의 프리뷰 버전이 나올 것 같고 크로스 플랫폼(Windows, Max OS X, Linux) 지원은 2011년 하반기 출시 예정인 "Pulsar" 버전에서 가능할 것 같습니다.

이젠 달리는 지하철과 버스 안에서도 와이파이를...

2010/08/23 10:15

 어제 올라온 기사네요... KT에서 지하철이나 버스 안에서도 와이파이를 사용할 수 있도록 "이동 와이파이"를 구축하기로 했다고 합니다. 기존에 일부 택시에 에그를 이용해서 구축되어 서비스 하던 것을 확대해 나가려나 봅니다...

사용자 삽입 이미지


 지금도 개인 AP를 비롯해 깔려 있는 와이파이가 많이 있는데 대표적인 비서비스 지역이었던 지하철이나 버스에서도 되면 훨씬 더 편리해 질 것 같습니다. 여전히 서울/수도권 집중이 문제긴 하지만...

사용자 삽입 이미지

그나저나 아이폰에 약정된 3G 데이터를 소진하기는 점점 어려워지고 있네요...^^

철 지난 아이패드 사용기

2010/08/16 19:46
 아이폰 4 예약 가입을 시작한다는 공식 발표가 어제 있었습니다. 이제 8개월 밖에 사용하지 않은 아이폰 3GS 가 있지만 새로 아이폰 4를 손에 넣으려고 생각 중입니다... 제겐 그냥 휴대전화의 역할 뿐 아니라 개발에 필요한 장비라는 핑계로다가...^^
 미국에서 출시된지 이제 두달 정도된 아이폰 4는 벌써(?) 출시가 되는데 아이패드는 여전히 오리무중입니다. 미국에서 아이패드가 출시되면서 휴대전화가 아니니까 상대적으로 빠른 시간내에 국내에 정식 발매 될 수 있을 거라 개인적으로 생각했지만 출시는 커녕 기미조차 보이지 않습니다.

 아이패드 미국 출시와 함께 아이폰용이었던 eBanner 라는 전광판 앱을 아이패드에서도 동작하도록 업그레이드 하고서 판매를 시작 했습니다. 실기기는 없었지만 시뮬레이터만으로 테스트하고 잘 될거라 믿으면서 말이죠...^^ 다행히 판매 후에 그다지 큰 문제는 발생하지 않고 있습니다. 하지만 실기기의 손맛을 보지 않고 출시를 한 것이 영~~~ 찝찝한 기분이 가시질 않더군요. 하여 "아이패드를 구입해야겠다." 마음을 먹고 구입 시도를 했습니다. 하지만 아이패드는 물량이 달려서 쉽게 구해지지 않았고 여섯~일곱번을 시도한 끝에 트위터에서 알게 된 다윤이 아빠 @5krazyeom 님의 힘을 빌어 iPad 64GB Wi-Fi 모델을 구입했습니다. 7월 29일 쯤 제 손에 들어왔으니 이제 2주 조금 넘게 사용했네요... 여러 얼리어답터 분들이 이미 많은 사용기를 올려 놓으셨지만 그래도 비싼 장난감을 손에 넣었으니 먼가 끄적거려야 될 것 같아서 철 지난 사용기를 간단하게 올려 봅니다.

사용자 삽입 이미지

 우선 아이패드는 몇 달전 수원 LOTS 매장에서도 경험했지만 생각보다 상당히 무겁습니다. 본체 무게가 680g 이고 거기다 케이스까지 보태면 1Kg 가까이 됩니다. 이걸 한 손에 들고 장시간 무언가를 하기에는 너무 무겁습니다. 저의 경우 자가용으로 출퇴근하니까 출퇴근시간에 사용할 일은 없습니다만 지하철이나 버스에서 자리에 앉아가는 경우가 아니면 손에 들고 사용하기는 힘들겁니다.

 또한 정식 발매전이라 한글의 표시는 잘 됩니다만 입력이 안됩니다. 한글 키보드가 없거든요... 이 사실을 알고 구입한 것이긴 하지만 알고 있는 것과 체험하는 것은 다른지라 대단히 불편합니다. 트위터를 하거나 RSS 피드를 읽을 때 트윗을 쓰거나 댓글을 달 수 없어서 궁여지책으로 아이폰과 함께 사용하고 있습니다. 글 쓸 때만 아이폰을 사용하는 것이지요...^^

 웹브라우저 사파리에선 한글 자판은 보이지 않지만 한글 오토마타를 이용하면 입력은 가능하구요. 또 탈옥을 한다면 우주 정복 프로젝트 님께서 개발하신 한글 키보드를 사용할 수 있습니다.
아이패드용 한글 키보드

우주 정복 프로젝트 님의 한글 키보드


 무게를 희생해야했겠지만 배터리는 정말 최고인것 같습니다. 밤에 한번 충전해 주면 밝기를 어둡게 해 놓긴 하지만 하루 종일 사용할 수 있습니다. 아이패드 받고서 바로 다음 날 출장으로 KTX 로 부산을 다녀 왔는데 약 5시간 정도 비디오를 봤습니다. 배터리는 약 30% 정도 소모되더군요. 여름 휴가 기간에도 이동 시 계속 게임하고 노래 듣고 했지만 배터리 때문에 걱정한 적은 없었습니다.

주로 사용하는 앱은 이런 것들입니다.

사파리로 풀사이즈로 웹 브라우징을 합니다. 제 홈페이지가 제대로 보이는군요...
사용자 삽입 이미지

제가 만든 Dot Matrix Clock 앱을 실행해서 가끔 시계로도 활용하구요...
사용자 삽입 이미지

iBooks에 책을 넣어서 읽기도 하구요.
사용자 삽입 이미지

사용자 삽입 이미지


사진 잔뜩 넣어서 음악 틀어 놓고 슬라이드쇼 하구요... 종이접기 효과 정말 뽀대 납니다...^^
사용자 삽입 이미지

예전 무료일 때 받아서 사용하던 트윗버드 프로로 트위터 하구요... 트윗덱은 타임라인이 가끔 깨지는 문제가 있더군요...
사용자 삽입 이미지

사파리로 구글 리더 사용하는게 조금 불편한 관계로 예쁜 Reeder for iPad 를 구입해서 RSS 피드를 읽습니다.
사용자 삽입 이미지

가끔 화제의 앱 FlipBoard로 Facebook이나 Engadget등 여러가지 소식을 봅니다.
사용자 삽입 이미지

누군가에게 무언가 설명할 게 있으면 iDraft 띄워서 손가락으로 주~욱  그려가면서 설명하구요.
사용자 삽입 이미지

운전할 때 iPod으로 음악을 듣습니다. 아이폰은 자동차의 AUX 단자를 이용해서 소리를 들어보면 베이스가 많이 죽는데 아이패드는 확실히 소리의 파워가 좋습니다.
사용자 삽입 이미지

CalcBot 앱으로 큰 화면을 계산기로도 활용하구요...
사용자 삽입 이미지

아이들은 이런 게임을 자주 합니다.
사용자 삽입 이미지

Super 7


사용자 삽입 이미지

Angry Birds


 집에서는 노트북이나 iMac을 대체할 정도로 왠만한건 모두 아이패드로 해결됩니다. 전체적으로 만족도는 아주 높습니다.. 차기 아이패드가 나오면 또 사야 되나 고민할 정도로요...^^ 아이폰 4도 구입해야 되는데...^^

신지모루 아이폰 스탠드

2010/06/29 16:47
 6개월 동안 아이폰을 사용하면서 거치대는 인케이스 아이폰 케이스에 딸려오는 조그마한 스탠드를 여지껏 사용해 왔습니다. 충전 케이블을 꽂아 놓은 상태에서는 수직으로 거치를 할 수 없고 수평으로 놓아도 불안정한 것이 있어서 아이폰 거치대를 하나 장만하려고 그동안 여러 제품들을 검색해 봤습니다만 워낙에 고가에다가 써드파티 케이스를 사용하고 있는 경우 호환이 안되는 것들도 있어서 선뜻 구입을 못했었더랬습니다...

그러다 얼마전에 신지모루라는 거치대를 알게 되었고 저렴한 가격에 바로 질러버렸습니다...^^


 단순히 아이폰을 거치만 할 수 있는 것이 아니고 위 사진처럼 아이폰의 USB 케이블을 장착하면 충전이나 아이튠즈 동기화도 가능한 크래들로 변신하는지라 판매 가격에 비하면 활용도도 높아 보입니다.
 충전 케이블을 장착하지 않고 사용하면 인케이스 같은 아이폰에 외부 케이스를 장착한 상태에서는 약간 불안하게 거치됩니다. 바닥면에 미끄럼 방지를 위해 붙어 있는 고무가 아이폰 거치 부분에도 있으면 더 좋을 것 같습니다.
 올해 초에 베타 테스트에 참여했던 책 "아이폰 쿨 프로젝트 - 고급 개발자를 위한 살아있는 아이디어" 가 드디어 판매가 시작되었네요... 몇해전 한국 최초 우주인 10인 후보에 선정되기도 하셨던 이색 경력의 소유자이신 류정원님 께서 번역하신 책입니다.
 오래전에 델파이 개발 서적을 공동 집필하다 어그러진 이후로 책과 관련한 일은 한번도 없었는데 얼떨결에 베타 테스트에 참여해서 좋은 경험을 한 것 같습니다.

사용자 삽입 이미지


 개발자라면 자신이 즐겨 사용하는 앱이나 유명 앱을 뜯어 보며 "와~~ 이건 어떻게 구현했을까...?",  "이런 문제는 해결하기 어려울 것 같은데 이 앱은 어떻게 처리했을까...?" 등등 고개를 갸우뚱 했던 기억이 있을 겁니다. 아이폰 쿨 프로젝트는 입문 과정을 마치고(?) 실제 프로젝트를 진행하는 개발자를 위한 책이라고 생각됩니다. 다양한 분야의 유명 앱 개발자가 직접 자신이 만든 앱의 핵심 구현 원리와 코드를 자세하게 설명해 놓았으니 실제 프로젝트를 진행하는 개발자에게 좋은 길잡이 역할을 할 수 있을거라고 생각됩니다.


한컴오피스 2010과 MS오피스 2010...

2010/06/22 10:28
 며칠전 한글과컴퓨터에서 월드컵 이벤트로 우리 대표팀이 승리하면 한컴오피스 2010 홈에디션을 할인 판매를 했었습니다.

 12시간 정도 진행된 이벤트에 25,000 본 이상이 판매되며 많은 사람들의 관심을 받았더랬죠... 너무 많은 접속자가 몰려 한컴샵의 서버가 다운되기도 했었죠....

저도 그 많은 사람들을 뚫고 간신히 구매에 성공했고 지난 주말에 노트북에 설치했습니다.

한컴오피스 2010 한글

한컴오피스 2010 한글



사실 개인적으로 집에서 오피스 프로그램을 사용할 일은 없지만 가끔 아이들 유치원이나 학교에서 보내오는 문서가 HWP로 되어 있어서 여러가지로 불편했었는데 이번 기회에 저렴한 가격에 불편함을 해소할 수 있으니 얼시구나하고 달려들어 구매하게 되었습니다...(예전 한글 815 버전때의 행사가 오버랩되더라는...^^) 거의 쓰지 않는지라 기능은 잘 모르겠고 최신 리본 인터페이스를 채용해서 아주 예뻐진 것 같습니다. 기동 속도도 빠르고 말이죠...(이건 SSD때문인지도...쿨럭...)

그리고 회사에서 사용하는 MS 오피스를 계약 기간이 만료되어 새로 임대하면서 이번에는 MS 오피스 2010으로 업그레이드하게 되었습니다...
MS오피스 2010 워드

MS오피스 2010 워드


리본 인터페이스가 약간 바뀐것이 눈에 띄면서 리본 UI를 지원하는 써드파티 라이브러리 만드는 회사들 또 바빠지겠구나 하는 생각이 드네요...^^
MS오피스 2010 워드 파일 메뉴

MS오피스 2010 워드 파일 메뉴


특히 위 그림처럼 예전 버전에서 어정쩡했던 파일 메뉴가 풀사이즈로 나오는 것이 아주 마음에 드네요...


AcroEdit 0.9.22.102 업데이트

2010/06/11 14:21
AcroEdit 0.9.22.102 버전을 릴리즈합니다.
이번 버전에서는 아래 사항들이 개선되었습니다.

버그 수정 사항

  • 파일 변경 알림 창이 떴을 때 편집 창을 닫으면 A/V에러가 발생하는 문제를 수정했습니다.

개선 사항

  • FTP 접속 시 비밀번호 저장 여부를 설정할 수 있도록 했습니다.
  • FTP 접속 시 파일 목록의 자동 갱신 여부를 설정할 수 있도록 했습니다.
  • 프로젝트 상대 경로 관리 기능을 개선했습니다.
  • 사용자 도구의 명령 옵션에도 매크로를 사용할 수 있도록 했습니다.
  • 프로그램 시작/종료 속도를 개선했습니다.
  • 책갈피 관리자에 책갈피 번호 아이콘을 표시하도록 했습니다.
책갈피 번호 표시

책갈피 번호 표시


  • 코드 템플릿 편집 기능을 추가했습니다.
코드 템플릿 편집 화면

코드 템플릿 편집 화면


일신우일신 - 2010년 5월 13일

2010/05/13 16:34
  • 엠바카데로에서 개발툴에 대한 새로운 로드맵 ( RAD Studio, Delphi and C++Builder Roadmap ) 이 발표되었습니다. 시기는 언급되어 있지 않지만 Fulcrum 버전에서는 Mac OS X가 지원되고 Wheelhouse 버전 에서는 Linux까지 지원하는 점이 흥미롭네요.
사용자 삽입 이미지

  • AcroEdit가 64비트 윈도나 윈도 서버 2003 같은 서버 윈도에서는 시작하는 속도와 종료 속도가 아주 느렸었습니다. AcroEdit는 프로그램의 설정이나 상태를 레지스트리에 보관하지 않고 INI 파일만 사용하는데 그러다 보니 INI 파일의 양이 제법 큽니다. AcroEdit가 시작하거나 종료될 때 TIniFile 클래스를 통해 INI 파일을 액세스하면 GetPrivateProfileString 같은 API를 자주 호출하는데 이게 속도 저하를 일으킨 주원인으로 판단되었습니다. 이 문제를 해결하고자 여러가지로 고민을 했었는데 뾰족한게 없어 그냥 내버려 두고 있었는데 며칠전에 TIniFile 클래스를 TMemIniFile로 바꿔 버리니 바로 해결되어 버렸습니다...^^ INI파일의 내용을 모두 메모리에 올려 놓고 사용하니 다량의 API 호출이 발생하지 않아 바로 성능이 좋아지네요... 쩝...
 제가 판매하고 있는 아이폰앱 eBannerPowerSnippet은 아이폰에 내장된 에모지 키보드를 활성화시켜 주는 기능을 가지고 있습니다.
 에모지 키보드는 많이들 아시겠지만 일본 소프트뱅크에서 판매되는 아이폰에 한해 사용 가능한 기능입니다. 즉 다른 나라에서 판매되는 아이폰에서는 기본적으로는 사용할 수 없는 기능입니다. 아래 그림처럼 예쁜 이모티콘을 왜 일본에서만 사용하도록 제한해 놓았는지 모르겠습니다만...^^ 아이폰을 탈옥하거나 아이폰 SDK의 구멍을 이용해서 이 기능을 활성화 시켜주기만 하면 언제든지 사용할 수 있습니다. 앱스토어에서 판매중인 많은 에모지 관련 앱들은 대부분 이 구멍(방법 1, 방법 2)를 활용하는 것입니다. eBannerPowerSnippet도 마찬가지구요...

사용자 삽입 이미지


하지만 며칠전 아이패드용 eBanner를 출시해서 미국 앱스토어에서 판매중인데 몇몇 사용자로부터 에모지 키보드가 활성화 되지 않는다는 버그 리포트를 받았습니다. 그럴리가 하면서... 며칠 구글을 통해 검색해 본 결과 아마도 아이패드와 함께 발표된 아이폰 OS 3.2부터 이 기능이 막혀있는 것 같다는 포스팅을 발견했습니다. 아직 아이패드를 구입하지 않은 상태라 직접 확인할 방법은 없지만 애플에서는 일본 이외의 국가에서의 에모지 키보드 사용을 단속하고 있고 에모지 활성화 기능만 가진 앱 일부를 이미 퇴출시켰다고 합니다.

 다만 이미 활성화 된 경우에는 계속 사용 가능하다고하니 아이폰의 에모지 키보드 기능이 필요하신 분들은 새로운 OS로 업데이트하기 전에 혹은 에모지 활성화 앱들이 앱스토어에서 모두 사라지기 전에 활성화 시켜 놓는 것이 좋겠습니다.

 아...! eBannerPowerSnippet에서는 아이폰 에모지 키보드를 활성화 시키지 않아도 에모지를 입력할 수 있습니다. 자체 에모지 키보드가 있거든요...^^