with TBForm.Create(Self) do
try
  if ShowModal = mrOk then
    访问V;
finally
  Free;
end;

解决方案 »

  1.   

    var
      sv: string;
    begin
      B := TbFrm.creat(self);
      b.showmodal();
      sv := b.v;  //访问B窗口的变量,可是此时B窗体已经Close()了
    end;这样访问是成功的,可是可以读出变量V,我总觉得关闭了在访问一个已经关闭了的窗体的变量,是危险的,虽然可以访问,可能是它的内存还未改变,但在一些条件下,可能会产生错误。
      

  2.   

    关闭了在访问一个已经关闭了的窗体的变量,是危险的,虽然可以访问,可能
    是它的内存还未改变,但在一些条件下,可能会产生错误。
    --》窗体关闭后,内存并未释放,只有在Free时才释放。所以不用担心
      

  3.   

    try
      MForm:=TMForm.Create(Self)
      if MForm.ShowModal = mrOk then
      begin
        ...
        MForm.V;
        ...
      end;
    finally
      MForm.Free;
    end;
      

  4.   

    我在B窗体的CLOSE事件里设置了action := caFree
    仍然可以访问,那是它没有释放内存,也就是说这条语句没有起左右,呵