Q&A

  • messagebox에 대한질문입니다.
간단한게 메신저 프로그램을 만드는 중입니다.
무지간단하게 짜려다 보니, 폼하나에 pagecontrol하고 panel을 이용해서 보였다, 숨겼다하는 중입니다. 아래부분에서 no를 누르면 정상적으로 작동을 하는데, yes를 누르면 panel이 visible이 안되면서 에러를 발생시킵니다. 물론 formcreate event시에 false구욤.
참 이상한거는 젤 첨에 yes만 안된다는 겁니다. 첫번째 쪽지시 no를 선택한 후, 나중에 또 쪽지가 와서 yes를 하면 그때는 정상적으로 작동을 합니다. 에러메세지는 System Error. Code:1400 잘못된 창 핸들입니다. 라고하네욤.    ㅠㅠ 아시는 분계시면 조언부탁드립니다.

procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
begin
   rec_msg := AThread.Connection.ReadLn;
   strlist := Tstringlist.Create;
    ExtractStrings(['|'],[','],PChar(rec_msg),strlist);

  if Application.MessageBox(PChar(strlist[2]+'님으로부터 쪽지가 왔습       니다.' + #13#10 + '쪽지확인하시겠습니까?'),'PROJECT.1',mb_yesno ) = id_yes then
  begin
     send_id := strlist[2]; //답장보낼시 ID 저장
     pagecontrol1.Visible := false;
     panel2.Visible := true;
     label16.Caption := strlist[2] ; //보낸사람
     memo3.Lines.Add(strlist[3]); //내용
     label17.Caption := strlist[4];  //일시
     form1.Caption := '◀ MEMO ▶';
     listbox1.Items.Add(strlist[2] + ' : ' + strlist[4]); //수신메세지리스트추가
     strlist.Free;
  end
  else
  begin
     listbox1.Items.Add(strlist[2] + ' : ' + strlist[4]); //수신메세지리스트추가
     strlist.Free;
  end;
end;
0  COMMENTS