Q&A

  • EncodeDATE를 이용하여 일을 체크할때 발생하는 에러 해결책 좀 주세요.....
// 각 년도 월에 맞는 일이 있도록 하는 부분.
function TInputMastFrm.CheckedDATE(DATE: string): Boolean;
var
  Y, M, D: integer;
begin

  try
    Result := True;
    Y := StrToInt(Copy(DATE, 1, 4));
    M := StrToInt(Copy(DATE, 5, 2));
    D := StrToInt(Copy(DATE, 7, 2));
    EncodeDate(Y, M, D);
  except
    Result := False;
  end;

end;

이렇게하여 체크하였습니다...

DATE는 년 월일 의 텍스트에디트박스에서 합쳐서 DATE라는 변수에
넣어 주고요....
근데 자꾸 EConvertError exception 이 발생한다는 메세지와 함께
프로그램이 멈춰버리는군요...물론 2002년 2월 30일 같은 오류가 발생
하였을경우에만요..
위에 except 구문에 저렇게 해서 값만 넘겨주면 되는게 아닌지요??
여러 고수님들의 조언 부탁드립니다..
1  COMMENTS
  • Profile
    머슴 2002.04.12 22:30
    죽는 이유는

      except
        Result := False;
      end;

    이부분에서 에러가 나면 함수를 빠져나가야 하는데...
    못나가서 죽는것 같습니다...

    이렇게 한번 수정을 해보세여...

      except
        Result := False;
        exit;
      end;