procedure TForm1.FormCreate(Sender: TObject);
var
  i,j,k:Integer;
  ar:array of Integer;
begin
  memo1.Text:='请输入开辟空间大小';
//********************这里等待按下button在继续运行接下来的程序
  i:=StrToInt(edit1.Text);
  SetLength(ar,i);
end;
应该如何做呢?

解决方案 »

  1.   

    “等待按下button”,这个Button里加个Flag,初始False,按下Button变True;在你需要的这个地方加个Timer,
    你需要的“接下来的程序”,写在Timer里,判断Flag,若Flag为True执行你“接下来的程序”
      

  2.   

    写死循环 用application.handlemessage;获取信息while true do
    begin
      if xxxx then 
        breakl;
      application.handlemessage;
    end;不影响程序运行 但是如果里面牵扯到对象的话,可能在程序关闭时循环还没结束,仍然要调用对象,可能会报错,这块小心点
      

  3.   


    var
      NewString : string;//接收值...
      ...
    begin
       ...
      if InputQuery('Input Box', '请输入开辟空间大小', NewString) then
        ...
        
      

  4.   

    要是我,我就这么做
    我设一变量,a:boolean把   继续运行接下来的程序  做成一个 procedure 程序在按钮部分给 逻辑变量赋值,是否按下 决定 a 的真假
    按照真或假的情况再运行 procedure 里的部分这样CPU的效率也高一些,不知是否可行