2017-05-05 1 views
0

Visual C++ 2010 Express를 사용하고 있습니다. 텍스트 상자 (textBox1)가 포함 된 양식 (Form1.h)이 있습니다.다른 cpp 파일, Visual C++ 2010에서 Form1의 텍스트 상자에 액세스

또 다른 test.cpp가 textBox1에 액세스하여 메시지를 표시하려고합니다.

뭔가처럼이 :

Form1.h

... standard form code generated by Visual Studio 

private: System::Windows::Forms::TextBox^ textBox1; 

private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) 
{ 
    textBox1->Text = "Connecting to server ..."; 
} 

에서 그리고 Test.cpp에에서 나는 다음과 같은 오류를 가지고있다, 컴파일 후

.... 

void write (const unsigned char *data, int length) 
{ 
    System::Windows::Forms::textBox1->Text = "Send failed"; 
} 
.... 

같은 것을 포함

  • 'textBox1': 아닙니다. 의 멤버 '시스템 :: 윈도우 :: 양식'
  • '을 textBox1'의 선언되지 않은 식별자
  • 왼쪽 - 클래스/구조체/노동 조합을 가리켜 야 '> 텍스트'/ 제네릭 형식
  • 구문 오류 : 실종 ' ; ' before 'string'

Visual C++을 처음 사용하고 클래스/개체에 액세스하는 방법을 알지 못합니다. 미리 도움을 주셔서 감사합니다. (^) 단지을 textBox1

사고의 또 다른 방법을 textBox1이 관리되는

시스템 : 윈도우 :: 양식 ::을 textBox1을 :

답변

0

나는 컴파일러 문제의 일부가 변경함으로써 해결 될 수 있다고 생각 System :: Windows :: Forms :: TextBox 형식의 포인터.

다른 오타가 여전히있을 수 있습니다. 위의 스 니펫은 C++/.NET에있는 것으로 보입니다. 이것은 '일반적인'C++과 다른 짐승입니다.

+0

의견을 보내 주셔서 감사합니다. 나는 비슷한 것을 시도했지만 test.cpp에 정의 된 함수를 사용하여 Form1에서 호출하는 다른 링크를 보았습니다. 나는 test.cpp에서 그것을 사용하고 싶다. 링크는 다음과 같습니다. http://stackoverflow.com/questions/20980056/change-label-text-from-different-header-file-visual-c-2010 –

+0

아 ... 그럼 대답은 합리적인 것 같습니다. 대답의 작가가 말한 것처럼, 텍스트 상자는 Form1 클래스에 대해 private이므로 접근 자 함수가 필요합니다. –

+0

어떻게하면 test.cpp 안에서 호출 할 수 있습니까? –

관련 문제