我新建了一个unit(名字是FunctionUnit)
unit FunctionUnit;interfaceimplementation//检查报文是否正确
function IsArrayValid(aByteArray: array of byte):boolean;
......我在unit1中调用这个函数(uses functionunit;)为什么会出错??在functionunit里的 函数是全局的吗??

解决方案 »

  1.   

    unit FunctionUnit;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type
      TFunctionUnit = class(TForm)
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;  function IsArrayValid(aByteArray: array of byte):boolean;var
      FunctionUnit: TFunctionUnit;implementation
      

  2.   

    不是全局的,作用范围只是在该单元内unit FunctionUnit;interfacefunction IsArrayValid(aByteArray: array of byte):boolean;implementation//检查报文是否正确
    function IsArrayValid(aByteArray: array of byte):boolean;
    ......我在unit1中调用这个函数(uses functionunit;)为什么会出错??在functionunit里的 函数是全局的吗??
      

  3.   

    unit FunctionUnit;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type  private  public
        function IsArrayValid(aByteArray: array of byte):boolean;
      end;implementation//检查报文是否正确
    function IsArrayValid(aByteArray: array of byte):boolean;
    begin
    ......为什么还是不行?
      

  4.   

    unit FunctionUnit;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type  private  public
        //function IsArrayValid(aByteArray: array of byte):boolean;//不是这里
      end;
      //是这里
      function IsArrayValid(aByteArray: array of byte):boolean;implementation//检查报文是否正确
    function IsArrayValid(aByteArray: array of byte):boolean;
    begin
    ......为什么还是不行?
      

  5.   

    提示了 :[Error] FunctionUnit.pas(13): '=' expected but identifier 'public' found
    [Error] FunctionUnit.pas(15): ';' expected but 'END' found
    [Error] FunctionUnit.pas(26): ';' expected but 'IMPLEMENTATION' found