Mi sto un po' scoraggiando, a memoria in TP non mi dava problemi; a seguito evento di click su bottone
apro una forma che deve visualizzare una serie di dati memorizzati su file; la form si apre tutto ok, se dichiaro "assign (fc,nf) in fondo alla unit (cioè fra begin end.); ma se lo stesso lo fasso all'interno della procedura formactivate non va e proprio non capisco perche' :-[
unit pvisualizzalistaconti;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
const
percorso='/home/nicola/Scrivania/WorkingDocs/UKUPH/Dati/ditprov/';
type
recconti=record
codice:integer;
descrizione:string[30];
posizione:string[20];
end;
{ TFvisualizzalistaconti }
TFvisualizzalistaconti = class(TForm)
Lcodiceconto: TLabel;
Ldescrizioneconto: TLabel;
Lposizione: TLabel;
mmostraconto: TMemo;
procedure FormActivate(Sender: TObject);
procedure mmostracontoChange(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Fvisualizzalistaconti: TFvisualizzalistaconti;
implementation
{$R *.lfm}
{ TFvisualizzalistaconti }
procedure TFvisualizzalistaconti.mmostracontoChange(Sender: TObject);
begin
end;
procedure TFvisualizzalistaconti.FormActivate(Sender: TObject);
var rc:recconti;
nf:string;
fc:file of recconti;
begin
mmostraconto.clear;
nf:=percorso+'conti.dat';
assign(fc,nf); //comando INCRIMINATO!!
reset(fc);
while not eof(fc) do begin
read(fc,rc);
mmostraconto.lines.add(inttostr(rc.codice)+' '+rc.descrizione+' '+rc.posizione);
end;
closefile(fc);
end;
begin
end.
l'errore:
pvisualizzalistaconti.pas(58,3) Hint: Local variable "fc" does not seem to be initialized
pvisualizzalistaconti.pas(57,16) Error: Wrong number of parameters specified for call to "Assign"