Q&A

  • treeview 에서 addobject 시 ... (메신저 메인화면)

또 한주가 쏜살같이 지나가고

월요일 아침이 왔군요..

갑작스레..

메신저 플그림을 만들게 되었습니다.

서버단은 자바 글구..

클라이언트를 델파이로 만들죠..

로그인을 할 땐..

DB컴포넌트를 사용해서..

사용자의 id와 패스워드를 체크합니다.

그리곤..

입력된 정보가 정확하면..

로그인 화면이 사라지고

메인 화면이 뜨게 됩니다.

이 때...

접속된 사용자들의 목록을 보여줘야 하는데..

트리뷰 컴포넌트를 사용하려 합니다.

그런데..

컴파일시에는 문제가 없는데..

실행만 하면..

로그인을 한 후에..

사용자 목록을 보여주기 위해..

서브 노드를 추가하는 부분에서..

공포의 Access violation에 발생하는 군요..

어디가 잘못 된건지.. ㅠ.ㅠ

슬프군여..

언제나 초짜 딱지를 뗄련지..

(************************************************************************
                        사용자 리스트  보여주기
************************************************************************)
procedure Tfrm_Main.userTreeShow(ultree:TTreeview;list:string);
var
  i:integer;
  u_id,u_name,u_status,u_grp:string;
  sub_tree,top_tree:TTreeNode;
  MyRecP: PMyRec;
begin
  userList := Tstringlist.Create;
  strToUserList(list,userList);

  New(MyRecP);
  myrecp^.T_Name := team;
  myrecp^.T_Id := '';
  myrecp^.T_status := '00';
  top_tree := ultree.Items.AddObject(nil, team, myrecp);  <== 이 부분입니다.
  top_tree.ImageIndex := 4;
  top_tree.SelectedIndex := 5;
  i := 0;

  while i < userList.Count-2 do begin
    u_id := userList.Strings[i];    inc(i);
    u_name := userList.Strings[i];    inc(i);
    u_status := userList.Strings[i];    inc(i);
    u_grp := userList.Strings[i];
    if u_id <> my_id then begin
      if (u_grp = '00') then begin
        New(MyRecP);
        myrecp^.T_Name := u_name;
        myrecp^.T_Id := u_id;
        myrecp^.T_status := u_status;
        sub_tree := ultree.Items.AddChildObject(top_tree,u_name,myrecp);
        sub_tree.MakeVisible;
        try
          sub_tree.ImageIndex := strtoint(u_status);
          sub_tree.SelectedIndex := strtoint(u_status);
        except
          sub_tree.ImageIndex := 0;
          sub_tree.SelectedIndex := 0;
        end;
      end;
    end else begin
      my_name := u_name;
      my_status := u_status;
    end;
    inc(i);
  end;

  userList.Free;
end;  

문제가 무엇인가요??

도와 주세여..

빨리 해결하구..

이번주에 휴가를 가야 하는데..

ㅠ.ㅠ
0  COMMENTS