|
답변 정말로 감사드립니다.
제가 원래 할려고 하는 바는 ClassA에 모든 변수(Array포함)를 정의하고 MainForm에서 이 ClassA에 엑세스해서
데이터를 여러 멤버함수로 처리하여 ClassA의 변수에 저장을 하고 이를 newForm에서 그 값을 쓰겠다는 것입니다.
newForm에서는 다시 MainForm의 멤버함수에 엑세스하여 일부 변수값들(ClassA의)을 계산하고, 이 변화된 값들을 다시 MainForm으로 보내겠다는 이야기인데.. 문제는 ClassA의 변수들에 저장이 되어 이를 newForm에서 쓸수 있을거라 생각을 했는데 이 ClassA의 변수들이 마치 로컬 변수처럼 행동을 하더라는 이야기입니다. 따라서 newForm에서 체크를 해 보면 MainForm에서 멀쩡이 어사인된 값이 newForm에서는 모두 NULL값으로 되어버리더군요.
사실 newForm의 Text box나 Line들에 있는 값들은 Property값이라서인지 MainForm에서 바로 불러들일 수 있었거던요. 그래서 같은 식으로 작동을 할거라 여겼는데...
이는 제가 아마 A폼에서 B폼으로 자료값을 넘기거나 B폼에 있는 함수를 쓸려고 하는 문제를 포함하여 class의 변수처리과정에 대한 이해가 부족하여 생긴 것 같습니다.
2HB 님이 쓰신 글 :
: 으음. 제가 아직까지 Class를 직접 생성하고 수정하고, 뭐 이런 것에 약해서 정확한 이해는 못했습니다만.
: 대강 이런 식의 프로그램을 말하시는게 아닐까..하고 대강 짜봤습니다.
:
: 뭐. 참조하실 데이터를 확실하게 Form의 header파일의 public부분에 넣어두셨는지 확인하시고, 만약에 코드안에 넣으셨으면 자연스럽게 지역변수로 인식하게 될겁니다. 아마... 근데, 컴파일도 억세스도 잘 되면 이런 문제는 아닐성도 싶구요.
:
: 그저 직접 프로그램을 보기 전엔 도통 모르겠군요 =_=;;
:
: 김달신 님이 쓰신 글 :
: : MainForm과 여기서 호출하는 NewForm이 있습니다.
: : 두 폼의 헤더파일을 상호 인클루드 시켰구요.
: : MainForm에서 버튼클릭시 호출폼을 show()로 호출하면 NewForm이 나타납니다.
: :
: : 그런데 MainForm에서 계산된 데이터를 NewForm에서 참조한다던지, NewForm에서 계산된 데이터를 MainForm으로 보내면 그 값이 0으로 되어버리더군요.
: : MainForm과 NewForm 모두 별도의 Class에 정의된 변수들을 불러서 사용을 하였구요.
: : 데이터 처리 함수는 모두 MainForm에 정의를 하였습니다.
: :
: : Compile도 멀쩡히 되고 Access에러도 잡았는데 값들이 넘어가질 않는군요.
: :
: : 이거 어떻게 해야 할지 난감하군요. 역시 초짜는 어쩔 수 없나 봅니다.
: : 고수님들의 도움을 절실히 구합니다.
|