Q&A

  • TreeNode에 있는 Data라는 프로퍼티사용법좀 알려주세요...(급)
TreeNode에 있는 Data(포인터)라는 프로퍼티는 어떤 역활과

어떤 방식으로 구현하는지요...델파이 고수님들의 조언부탁드립니다.

참고로 급합니다....플리즈....

2  COMMENTS
  • Profile
    최은창 2000.02.29 02:46
    이규화 wrote:

    > TreeNode에 있는 Data(포인터)라는 프로퍼티는 어떤 역활과

    > 어떤 방식으로 구현하는지요...델파이 고수님들의 조언부탁드립니다.

    > 참고로 급합니다....플리즈....



    앞서 어느분이 말씀하신것 처럼 일반적인 포인터와 동일한 역할과 방식으로 구현할 수 있습니다. 포인터이니까요.

    TreeNode는 노드이름외에 기타 데이타를 저장할 프로퍼티를 가지고 있지 않습니다. 물론 있다고 하더라도 데이타형식이 틀리다면 무용지물이겠지요. 따라서 오히려 더 유용한 방법인 포인터를 사용하여 TreeNode에 데이타를 저장할 수가 있습니다.

    아래에 구조체를 이용하는 방법을 간단히 써보았습니다.

    다른곳에 비슷한 질문이 있어 올린건데 도움이 되시기를 바라며 같은 초보가...



    type

    PKEY = ^AKEY; //treeview node에 데이타 저장용 구조체

    AKEY = record

    ID: string;

    ...

    end;



    procedure Tform1.treeview1AddData(pnode: TTreeNode; const display, akey: string);

    var

    KEY: PKEY;

    node : Ttreenode;

    begin

    new(KEY);

    KEY^.ID:=akey;

    ...

    node:=treeview1.items.addchild(pnode, display); //상위노드(pnode)에 추가

    node.data:=key;

    ...

    end;





    procedure Tfrom1.treeview1Deletion(Sender: TObject; Node: TTreeNode);

    var

    key : PKEY;

    begin

    key:=node.data;

    dispose(key); //노드가 삭제될때 메모리에 존재하는 영역도 제거

    end;

  • Profile
    최용일 2000.02.29 02:11
    Data프로퍼티는 컴포넌트 안에서 아무런 역활도 하지않습니다...

    그것은 단지 사용자를 위하여 존재합니다... 사용자 임의대로 사용하세요...

    노드의 정보를 넣는다던가.... 포인터이므로 어떤형태의 값도 형변환을 통해

    서 사용하실수 있습니다.....



    이규화 wrote:

    > TreeNode에 있는 Data(포인터)라는 프로퍼티는 어떤 역활과

    > 어떤 방식으로 구현하는지요...델파이 고수님들의 조언부탁드립니다.

    > 참고로 급합니다....플리즈....