non è una buona idea dichiararla come globale, a mio avviso.
codice:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
MioArrai= array [1 .. 10] of Integer;
procedure MiaProcedura(a : MioArrai);
var
Form1: TForm1;
implementation
procedure MiaProcedura(a : MioArrai);
begin
ShowMessage(IntToStr(a[1]));
end;
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var
AAMioArray: MioArrai;
begin
AAMioArray[1]:=101;
MiaProcedura(AAMioArray);
end;
initialization
{$I unit1.lrs}
end.
l'esempio sopra funziona su Lazarus, ma probabilmente anche su Delphi.
guarda il prototype
procedure MiaProcedura(a : MioArrai);
dove viene dichiarata come argomento MioArrai, non vorrei essere smentito ma non viene passato il vettore per valore ma per riferimento [rettifico è passato per valore].
Fai delle prove.
ciao
sergio