델파이 폼 파일(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 데이터를 소진하기는 점점 어려워지고 있네요...^^