2014-03-27 2 views
1

간단한 레코드 저장 응용 프로그램을 만들려고하고 있지만 일부 바보 같은 이유 때문에 C++에서 레코드를 추가 한 후 기본 frmview.h Form으로 돌아갈 수 없습니다.버튼을 사용하여 양식을 탐색하는 방법은 무엇입니까?

11 IntelliSense: a pointer-to-member is not valid for a managed class $PROJECTDIR$\frmnew.h 444 12 Application1 

지금은 노력하고 있어요 형태 : 나는 다음과 같은 예외가 디버거를 실행하려고하면

System::Windows::Forms::DialogResult Result = MessageBox::Show(this,String::Format("Record Added for user {0}, Add another?", txtstaffname),"title", MessageBoxButtons::YesNo, MessageBoxIcon::Information); 

    if(System::Windows::Forms::DialogResult::Yes == Result) 
     { 
      //Do something 
     } 
      else 
       { 
        this->Close; 
        frmview::Show; 
       } 

을 :

내가 실행하려고 코드입니다 다시보기 레코드 양식은 현재 레코드 추가 (frmnew.h) 양식을 이동하는 데 사용되며 두 양식에 다음 헤더를 포함 시켰습니다.

frmview.h (Rec ords) :

#include "frmadd.h" 
#include "frmedit.h" 

frmadd.h (레코드 추가) :

#include "frmview.h" 

내 컴퓨터 시스템은 윈도우 8.1을 실행하고 나는 (.NET 4.5)

그것은 만약 비주얼 스튜디오 2012가 설치되어 나는 C#이나 VB.NET을 사용 하겠지만, 우리 임무의 일부로 C++을 사용해야한다.

도움을 주시면 감사하겠습니다.

답변

0

두 번 포함하여 문제가 있다고 생각합니다.. "frmview.h"를 포함하는 "frmadd.h"를 포함하며 끝까지 계속 사용합니다.

두 번째 형식의 데이터를 첫 번째 형식으로 저장해야하는 경우 property을 사용하고 양식을 안전하게 탐색 할 수 있습니다. 희망이 도움이됩니다.

추신 : Show 방법은 대괄호가 필요합니다 : Show(). 다수 포함이 문제가

경우 미리 프로세서 지시어는 정의/그렇지 않은 경우 포함하기 :

0

내가 많이, 따라서 멀티 솔루션 답을 가정해야했습니다 문제를 확인하기 위해 더 많은 코드를 보지 않고 이전에 문제를 해결해야합니다 포함 : 이 당신의 .H 파일에 대한 전체 내용을 포장

당신은 출력, 당신이 사용하는 구문이 잘못 생각 한 오류에 따라
#pragma once 
#ifndef HEADERFILENAMEHERE_H 
#define HEADERFILENAMEHERE_H 
//..... 
original header file contents here 
//..... 
#endif 

그러나 : 는 당신이 필요 같습니다

로 전화

//SecondForm.cpp 

#include "StdAfx.h" 
#include "FirstForm.h" 
#include "SecondForm.h" 

System::Void CppWinform::SecondForm::button1_Click(System::Object^ sender, System::EventArgs^ e) 
{ 
FirstForm^ firstForm = gcnew FirstForm(); 
firstForm->Show(); 
this->Hide(); 
} 

System::Void CppWinform::FirstForm::button1_Click(System::Object^ sender, System::EventArgs^ e) { 
SecondForm^ secondForm = gcnew SecondForm(); 
secondForm->Show(); 
this->Hide();    
} 

하자 나에게 당신이 얼마나 알고 : 대신

frmview::Show; 

또 다른 가능성의 10

frmview->Show(this); 

는 다음에 더 인라인으로 코드를 구조 조정해야 할 수도 있습니다 더 많은 정보가 필요하면 도와 드리겠습니다 :)

관련 문제