지정 시간 후 자동으로 닫히는 Modal 폼

잘 아시다시피 델파이/C++빌더에서 폼을 여는 방식에는 Show와 ShowModal 두 가지 방법이 있습니다. 각각 modeless, modal이라고 하는데요. modal로 폼을 연다는 것은 해당 폼을 닫기 전에는 다른 폼으로 입력 포커스를 이동할 수 없도록 강제하는 것입니다. 그런데 가끔은, modal 방식으로 폼을 열었으면서도 일정…

with 구문의 위험성 – cxGrid 및 TRect의 사례

델파이(오브젝트 파스칼) 언어에서 with 구문이 종종 위험할 수 있다는 말은 델파이 개발자라면 한번쯤은 들어보셨을 겁니다. with 구문은 그 블럭 안의 식별자가 어느 객체에 속한 것인지를 모호하게 만들 수 있기 때문인데요, 주로 self에 속한 멤버와 with에 속한 멤버 사이에서 문제가 발생하기…

DBGrid에서 체크박스로 멀티셀렉트 하기

저 개인적으로는 그리드 컴포넌트로는 서드파티인 DevExpress의 cxGrid를 주로 사용하기 때문에, 간단한 로직 검증 테스트 목적 외에는 TDBGrid를 잘 사용하지 않습니다. 하지만 제가 지원하는 여러 사이트들 중에는 업무용 기본 그리드 컴포넌트로 TDBGrid를 사용하고 있는 경우가 종종 있습니다. 지난주 제가 기술지원을 하고 있는…

초중고 SW 교육 의무화 반대, 두번째 이야기

며칠전에 쓴 초중고 SW 교육 의무화 추진을 중단하라 글에 제가 예상치도 못했던 엄청난 반응이 쏟아졌습니다. 페이스북과 블로그 본문을 통해 반박 의견도 일부 있었지만 공감한다는 의견과 페이스북 좋아요가 줄을 이었네요. 사실 저는 이런 일로 주목받는 것을 즐기는 사람은 아닌, 가평 시골에 묻혀…

초중고 SW 교육 의무화 추진을 중단하라

지난 6월 26일, 모 언론에 SW 교육 정규과정화가 무산될 위기에 처했다는 기사가 실렸었습니다. SW 정규교과 도입 결국 무산? 저는 그 기사를 보고 정말 다행이다라고 가슴을 쓸어내렸었습니다. 그런데 어제 난데없이 SW 정규과정화를 내년부터 중학교에 강제하고 2017년부터는 초등학교에도 실시겠다는 기사가 나왔고, 곧이어…

파일 진행 상황을 보여주기 – TImpFileStream

Delphi, C++Builder 개발자들에게 TStream 클래스는 아주 친숙하죠. TStream은 TFileStream, TMemoryStream, TBlobStream, TWinSocketStream 등으로 상속되어 TStream의 인터페이스로 여러 컴포넌트 및 루틴들에서 사용됩니다. 특히 TFileStream은 Delphi와 C++Builder에서 로컬의 파일을 읽어들이고 쓰는 데 가장 일반적인 방법으로 많이 쓰이고 있습니다. 그런데, 대용량의 파일을 읽고 쓰는 작업을 하거나 혹은 네트워크를 통해…