헉 NULL이 정답이였네여 저두 다해보고있었는데 정말 감사합니다.
송신영 님이 쓰신 글 :
:
: // TFrame1이 선언된 해더 파일의 인클루드를 현재 cpp에 하지 말고 현재 해더 파일로 옮기고
: // 해더 파일에서 TFrame * Frame[5]; 선언한 것을 TFrame1 * Frame[5]; 로 변경하세요.
:
: for(int i = 0; i < 5; i++)
: {
: Frame[i] = new TFrame1(NULL); // Panel1을 NULL로 바꿔보세요.
: Frame[i]->Parent = pPanel1;
: Frame[i]->Align = alTop;
:
: Frame[i]->Memo1->Lines->Add("asdf");
: }
:
:
: 축구 님이 쓰신 글 :
: : 내용은 알겠습니다. 하지만 의문점이 있는데요
: :
: : 만든 Frame네임이 Frame1인데요.
: :
: : 이게 Unit2에 만든거죠. 그래서인크루드 한다음
: :
: : 헤더에 TFrame *Frame[5]; 선언하고
: :
: : for(int i = 0; i < 5; i++)
: : {
: : Frame[i] = new TFrame1(Panel1);
: : Frame[i]->Parent = Panel1;
: : Frame[i]->Align = alTop;
: :
: : Frame[i]->Memo1->Lines->Add("asdf");
: : }
: : 그럼 여기서 오류가 납니다 Frame를 알지 못한다고 그래서 Frame[i]를 Frame1[i]로 헤더도Frame1[5];로
: : 바꾸고 해보니 Memo1이 TFrame의 멤버가 아니라는 오류가 나더군요.
: : 보면 될것같은데 이상하네요
: : 메모를 주석처리하고 실행해봤는데 이미 만들어진 프레임이라고 또 ㅠㅠㅠㅠ
: :
: : 송신영 님이 쓰신 글 :
: : : 해더파일에는 포인터만 선언한 것이지 새로운 TFrame의 객체를 선언한 것이 아닙니다.
: : : 포인터 변수에 TFrame1의 객체를 생성해서 포인팅만 해준 것이기 때문에
: : : "축구" 님께서 만들어 두신 TFrame1을 사용하는 것입니다. ~
: : :
: : : 축구 님이 쓰신 글 :
: : : : 음 근데 저렇게 하면 이미 만들어논 프레임이 아닌 완전 새 프레임을 쓰는게 아닌지요?
: : : :
: : : :
: : : : 송신영 님이 쓰신 글 :
: : : : : 음.. C/C++ 공부를 좀더 하셔야 할듯합니다.
: : : : : 너무 게시판의 질답으로만 문제 해결하려면 자신의 지식이 잘 안됩니다.
: : : : : 좋은 책 하나 선정해서 열공하셔야 나중에 살이되고 피가됩니다.
: : : : :
: : : : :
: : : : : // 해더 파일에 아래와 같이 선언하면됩니다.
: : : : : TFrame * Frame[5];
: : : : :
: : : : :
: : : : :
: : : : : 축구 님이 쓰신 글 :
: : : : : : 음 저걸 쓰려면 만들어논 프레임 Name를 어떻게 바꿔줘야 하나요?
: : : : : : Frame로 바꾸니까 에러나고 Frame[]로 바꿔도 에러나고
: : : : : : 그냥[i]이것만 갔다 붙여도 에러나고 ㅠㅠ
: : : : : :
: : : : : : 송신영 님이 쓰신 글 :
: : : : : : : 포인터 배열을 사용하세요.
: : : : : : : Frame[i] = new TFrame1(Panel1);
: : : : : : :
: : : : : : : 축구 님이 쓰신 글 :
: : : : : : : :
: : : : : : : : for(int i = 0; i < 5; i++)
: : : : : : : : {
: : : : : : : : Frame1 = new TFrame1(Panel1);
: : : : : : : : Frame1->Parent = Panel1;
: : : : : : : : Frame1->Align = alTop;
: : : : : : : :
: : : : : : : : Frame1->Memo1->Lines->Add("asdf");
: : : : : : : : }
: : : : : : : :
: : : : : : : :
: : : : : : : : 이미 만들어논 프레임을 5개 생성하는건데
: : : : : : : : 저걸 5개 다 만들라면 이름을 바꿔줘야 하는데 어떻게 바꿀지 모르겠어요
: : : : : : : :
: : : : : : : : 이름옆에 +연산자를 쓸수도 없고.....