|
얼마든지 가능합니다.
아래 코드에 문제는 없습니다.
그런데 혹시 abc *ABC를 new 하셨는지요?
아래 코드가 전부라면 abc를 new하지 않았기 때문인것 같습니다.
//폼 생성자에 아래와 같이 한줄....
void __fastcall TForm1::FormCreate(TObject *Sender)
{
ABC = new abc;
}
//---------------------------------------------------------------------------
두현택 님이 쓰신 글 :
: 해당 폼에서 리스트뷰에 접근하는 것은 가능한데,
: 다른 클래스에서 리스트뷰에 접근하려고 하면,
: 에러가 나는데(SetListView()에서) 컴포넌트를 다른 클래스에서 포인터로 넘겨받아 가능할까요?
:
: class TForm1 : public TForm
: {
: __published: // IDE-managed Components
: TListView *ListView1;
: TButton *Button3;
: void __fastcall Button3Click(TObject *Sender);
: private:
: public: // User declarations
: __fastcall TForm1(TComponent* Owner);
: abc *ABC;
: };
: extern PACKAGE TForm1 *Form1;
: //---------------------------------------------------------------------------
:
: void __fastcall TForm1::Button3Click(TObject *Sender)
: {
: ABC->SetListView(ListView1);
: ABC->Debug_List();
: }
: //--------------------------------------------------------------------------
:
: class abc
: {
: private:
: abc();
: ~abc();
:
: public:
: void SetListView(TListView *lstView1);
: void Debug_List();
: TListView *lstData;
: };
: //---------------------------------------------------------------------------
: abc::abc()
: {
: lstData = NULL;
: }
: abc::~abc()
: {
: }
:
: void abc::SetListView(TListView *lstView1)
: {
: lstData = lstView1;//요기서 에러가 납니다.
: }
:
: void abc::Debug_List(void)
: {
: TListItem *ListItem;
:
: ListItem = lstData->Items->Add();
:
: ListItem->Caption = "abc";
: ListItem->SubItems->Add("def");
: ListItem->SubItems->Add("ghi");
: ListItem->SubItems->Add("klm");
:
: lstData->Perform(WM_VSCROLL, SB_BOTTOM, 0);
: }
|