MilliSecondsBetween(TDataTime,TDataTime)这个方法求的是两个时间之间的毫秒数还是秒数?返回值为boolean值的方法在方法开始时候定义了Result:=false;方法中exit时候就是返回的false?
   在方法最后调用另外以个boolean值的方法,这个时候返回的结果就是调用方法返回的结果?

解决方案 »

  1.   

    毫秒
    正确,返回就是false
    是这种问题,自己调试一下,或看一下帮助就ok了,不要浪费分了
      

  2.   

    毫秒数不管方法什么时候退出,方法退出的时候result的值就是返回值
      

  3.   

    就是说我的返回值一直都是false了?我不懂delphi
      

  4.   

    1.毫秒
    2.从哪跳出的,跳出前的result就是你函数的返回值,举例子说吧
    begin
    result:=false
    if i=0 then//如果这里跳出了 则返回值为false
      exit;
    result:=getresult();//getresult为另一个函数 执行到的话 返回值就是getresult的返回值
    en;这种问题,还是自己调试一下或看看帮助吧,不要浪费分啊
      

  5.   

    不好意思,上面那个end少了个d
      

  6.   

    Result就是返回值的意思。
    比如说开始的时候Result:=false,然后执行到某个地方Result:=true了,然后exit了,那么返回值就是True
    开始Result就赋值为false是为了使代码简洁,要不然后面就要if....then result:=true else result:=false 这样子
      

  7.   


    貌似CSDN出问题了4秒前的没显示出来!
      

  8.   

    最后的一个方法没有赋值给result
      

  9.   


    function TMain.ProcessAck: boolean;
    begin
      Result:=false;
      if not IPClient.IPClient.Connected then exit;
      while AckQueue.Pop do begin
        if AckQueue.Item.ResultStr='' then begin
           if not IPClient.SendOK(AckQueue.Item.TaskID,AckQueue.Item.IMSI) then begin
              AckQueue.Push;
              break;
           end;
        end;
      end;
    end;function AckQueue.Push: boolean;
    begin
      Result:=false;
      if i=0 then exit;
     
      Result:=true;
    end;ProcessAck 会返回true么?
      

  10.   

    没有付给result,那就不是返回值
    begin
    result:=false
    if i=0 then//如果这里跳出了 则返回值为false
    exit;
    getresult();//执行到这,返回值还是false,但是会执行getresult这个函数而已
    en;
      

  11.   

    你这段函数,返回值始终是false,整个函数中根本没有赋值嘛
      

  12.   

    恩 谢谢了 我就是看不明白什么意思 因为还有个 while ProcessAck do; 给我弄晕了我不知道这是干什么的
     把delphi改成c#的给我弄的晕头转向的 现在脑子乱七八糟的
      

  13.   


    while AckQueue.Pop do 就是说每次循环时执行AckQueue.Pop,若返回值为true则继续循环,不然就跳出循环。单独执行AckQueue.Push 就是只是执行这个函数的功能,而不管他的返回值是什么。