当然不会出现罗!你Edit2KeyDown方法中又重新定义了pass_num。
procedure TForm1.Edit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
//去掉下一行代码
// var pass_num:integer;begin
  if (key=$0d) then
  begin
    pass_num:=pass_num+1;
    if edit2.text='wc' then
    begin
      p4.visible:=true;
      note1.visible:=true;
    end
    else
    begin
      if pass_num=1 then
          showmessage('对不起,口令不对!') ;
      if pass_num=2 then
          showmessage('对不起,你看来不象是') ;
      if pass_num=3 then
          showmessage('嗨!!!,你到底是谁???');
    end;
  end;  if pass_num=3 then
    close;
end;