Q&A

  • Treeview.Data 랑 포인터랑 연결하는게 궁금해요...
안녕하세요..
이리저리 해보다가 안돼서 이렇게 도움을 요청합니다..

Treeview.Data에 record type의 포인터를 연결할 수 있다고 해서
여러가지 해봤는데 안돼서요...

도와주세여....
예제 있으시면 하나만 올려주시면 참 감사하겠습니다...

모가 틀렸는지 몰겠네여...

type
    PKEY = ^AKEY;  
    AKEY = record
    ID: string;
    pass : string;
end;
이렇게 구조체와 그 포인터 선언하는건 맞는지.....

new(KEY);
KEY^.ID := '1';
이렇게 값을 할당하는건 또 맞는지...

그럼 저렇게 값을 주면 그 값을 어떻게 읽어와야하는지...ㅜㅜ

예제 한개만 보여주세여~~~~~


2  COMMENTS
  • Profile
    최용일 2002.05.30 01:31
  • Profile
    최용일 2002.05.30 01:39
    안녕하세요. 최용일입니다.

    그냥 형변환만 해주시면 됩니다.

    TTreeNode의 Data겠죠?

    New(KEY);
    KEY^.ID := '1'; // = Key.ID = '1' 두개 같은 코드입니다.

    var
        Node: TTreeNode;
    begin
        Node := TreeView1.Seleted;
        if Node <> nil then
        begin
            ShowMessage('ID: ' + PKey( Node.Data ).ID );
            ShowMessage('Password: ' + PKey( Node.Data ).Password );
        end;
    end;

    연결된 포인터의 메모리 해제는 트리뷰의 OnDeletion이벤트에서 하세요...

    procedure Form1.TreeView1Deletion(Sender: TObject; Node: TTreeNode);
    begin
        if Node.Data <> 0 then // = if PKey(Node.Data) <> nil then
            Dispose( PKey(Node.Data) );
    end;

    ^^ 항상 즐코하세요...