Problema, faccio un esempio banale del codice che devo realizzare
type
TMio = Function(a:String):Integer;
TForm1 = class(TForm)
Button2: TButton;
procedure Button2Click(Sender: TObject);
private
TempValore : Integer;
{ Private declarations }
Funzione:TMio;
procedure go;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button2Click(Sender: TObject);
Var Valore : Integer;
Function due(a:String):Integer;
Begin
Form1.Caption := a;
Valore := 2;
due := 1;
End;
begin
Funzione := @due;
go;
caption := caption + inttostr(TempValore);
end;
procedure TForm1.go;
begin
Funzione('ciao');
end;
quando da “go” chiamo la funzione “funzione” la variabile “Valore” non è accessibile ( in questo caso mi sta anche bene, non è vero), anche usando la variabile “TempValore” dichiarata all'interno della classe mi da un errore di accesso.
L'unico modo che mi funziona ma non mi piace è mettere una variabile globale.
grazie.