|
1 번 같은 경우 릴리즈 버전으로 컴파일해서 따로 실행시키니 되네요.
(빌더에서 run시키지 않고)
이게 대체 무슨 삽질이었는지 -_-;
이정형 님이 쓰신 글 :
: 안녕하세요.
:
: 프로젝트에서 C++ 빌더 6.0의 TCspinEdit를 사용하는 일이 생겼는데 에디터 란을 공란으로 두고 Up/Down 이벤트 발생시키면 EConvertError 발생하네요.
: 빌더내의 Example 소스중에 CSpinEdit에 관한게 있어서 살펴보니 아래와 같은 내용이더라고요.
: try/catch로 에러 처리를 해서 실제로 동작은 제대로 하는데 에러메시지가 나오니 영 보기 안좋네요 -_-;
: 하다 못해 Example 코드를 어떻게 손대서 lib에 넣을 수 있으면 어떻게든 될거 같습니다만... 하는 방법을 모르겠네요.
:
: 그러니까 질문은 두가지 입니다.
: 1. EConvertError가 발생하더라도 화면에 경고메시지 뿌리지 않는 방법이 있습니까?
: 2. 아래의 소스 코드를 따로 컴파일 해서 기존의 라이브러리를 대체 할 수 있는 방법이 있습니까?
:
: ps. 라이브러리 자료실의 Rxlib인가도 받아서 해봤는데 똑같더라고요-_-;;
: Up/Down 이벤트 캐치할 수는 있는데 이미 에러나고 잡히니 -_-;
:
: /* CSpin.h 내용 */
: __property long Value = {read=GetValue, write=SetValue, nodefault};
:
: /* CSpin.cpp 내용 */
: /* UP 이벤트 발생 */
: void __fastcall TCSpinEdit::UpClick(TObject *Sender)
: {
: if (ReadOnly)
: MessageBeep(0);
: else Value += FIncrement;
: }
:
: /* Down 이벤트 발생 */
: void __fastcall TCSpinEdit::DownClick(TObject *Sender)
: {
: if (ReadOnly)
: MessageBeep(0);
: else
: Value -= FIncrement;
: }
:
: /* Value read */
: long __fastcall TCSpinEdit::GetValue(void)
: {
: long Result;
: try {
: Result = Text.ToInt(); /* <- Convert Error 발생 */
: }
: catch(...) {
: Text=AnsiString((int)FMinValue);
: return FMinValue;
: }
: return Result;
: }
|