我定义一个全局函数返回值为boolean型
function tes(Mno :integer, gb:integer):boolean
begin    gb :=100;
    tes :=True;
end
我在button中调用如下
var flag:boolean;
begin 
    flag:= tes(gno,mpulse);
    showmessage(inttostr(mpulse));
end;
其中flag为boolean型gno、mpulse为全局integer类型
现在的问题是按理说我的mpulse执行后应该有值100,可现在没有值请问我错在那里!!

解决方案 »

  1.   

    function tes(Mno :integer, gb:integer):boolean
    begin
        gb :=100;
        mpulse :=gb;
        tes :=True;
    end
      

  2.   

    function tes(Mno :integer, gb:integer):boolean
    begin
        gb :=100;
        mpulse :=gb;
        tes :=True;
        result :=tes;
    end
      

  3.   

    第一个错:
    function tes(Mno:integer, gb:integer):boolean
    中间要用分号,而不是逗号
    function tes(Mno:integer; gb:integer):boolean第二个错:
    函数返回值是使用Result:=True
    而不是tes:=True第三,引用型参数可以直接传指针
    function tes(Mno:integer; gb:^integer):boolean
      

  4.   

    上面说的第二个错,不是错的,Result:=True 与 function name :=true 是一样的。
    可以将gb定义成全局的,就什么也不用改了
      

  5.   

    function tes(Mno :integer, gb:integer):boolean
    把声明 改成
    function tes(Mno :integer,Var gb:integer):boolean
    就可以了
      

  6.   

    同意 xflcx(徐锋)的意见
      

  7.   

    function tes( var Mno :integer;var  gb:integer):boolean
    begin    gb :=100;
        tes :=True;
    end