님께서 코딩을 TForm1클래스의 생성자에서 하셨네요
TForm1클래스 객체가 생성되는 중에 코딩을 하신것입니다.
뭐 거기서 코딩한다고 크게 문제될것은 없지만...
님께서 숫자 입력받는 Edit에 아무것도 입력되어있지 않는 상태에서
String의 ToDouble()함수를 사용해서 발생하는 문제인것 같습니다.
1. Form1클래스 생성자에 코드를 모두 Button클릭 이벤트로 옮기세요
2. 그런상태에서도 edit에 아무것도 입력하지 않고 ToDouble함수를 호출하면 에러가 나는것은 당연합니다.
이경우 try-catch로 잡던지 ..
아니면 ToDouble함수를 호출하기전에 Edit에 무엇이 입력되어있는지 체크해 보는 방법도 있겠네요
그럼..
이민준 님이 쓰신 글 :
:
:
: //---------------------------------------------------------------------------
:
: #include <vcl.h>
: #pragma hdrstop
:
: #include "Assignment2_c.h"
: //---------------------------------------------------------------------------
: #pragma package(smart_init)
: #pragma resource "*.dfm"
: TForm1 *Form1;
: //---------------------------------------------------------------------------
: __fastcall TForm1::TForm1(TComponent* Owner)
: : TForm(Owner)
: {
: double no1,no2;
: AnsiString oprator;
:
: no1=num1->Text.ToDouble();
: no2=num2->Text.ToDouble();
: oprator=oprtor->Text;
:
:
: if (oprator=='+') {
:
: this->result->Caption=AnsiString(no1+no2);
:
: }
:
: else if (oprator=='-') {
: this->result->Caption=AnsiString(no1-no2);
: }
:
: else if (oprator=='/')
: {
: if (num2!=0) {
: this->result->Caption=AnsiString(no1/no2);
: }
: else
: {ShowMessage(" You have to put non-zero numbers"); }
: }
:
: }
:
: 실행시키니
:
: Project Assignment2_p.exe raised exception class EConvertError with message "" is not a valid floating point value'
:
: 라는 알수없는 에러메시지가 뜨네요 ㅠㅠㅠㅠㅠㅠ +, -, / 문자 쓰는거 저렇게 하면 되나요 ㅠ 잘못된 곳 좀 찾아주세요 3시간 넘게 끙끙대는데 안되요 ;