Pessoal estou utilizando a extrutura a abaixo , class com varios records,
e nao sei como fazer para limpar a memoria corretamente apos utilizar.
Record precisa limpar a memoria?
Tnota = class(TObject)
public
codEmpresa : String;
emitente : Tipo_dados_emitente;
destinatario : Tipo_dados_destinatario;
Produto : array of Tipo_dados_produto ;
end;
Tipo_dados_produto = record
nItem : String;
infAdProd: String;
cProd : String;
cEAN : String;
ICMS : Tipo_ICMS;
PIS : Tipo_dados_ProdutoPISaliquota;
end ;
Tipo_ICMS = record
CST00: Tipo_dados_CST00 ;
CST10: Tipo_dados_CST10 ;
CST20: Tipo_dados_CST20 ;
CST30: Tipo_dados_CST30 ;
CST40: Tipo_dados_CST40 ;
CST51: Tipo_dados_CST51 ;
CST60: Tipo_dados_CST60 ;
CST70: Tipo_dados_CST70 ;
CST90: Tipo_dados_CST90 ;
end;
Tipo_dados_CST20 = Record
Orig : String;
CST : String;
modBC : String;
pRedBC : String;
vBC : String;
pICMS : String;
vICMS : String;
end;
//...........................
Para utilizar u faco desta maneira
var
nota : Tnota;
begin
nota := nil;
nota:= Tnota.Create;
nota.codEmpresa := vetorLinha[1];
...
...
inc(contprod);
SetLength(nota.Produto,contprod);
nota.Produto[contprod-1].nItem := vetorLinha[1] ;
nota.Produto[contprod-1].infAdProd := vetorLinha[2] ;
CONTINUE;;
..
...
e para limpar faco assim
nota.free;
nota:= nil;
Esta correto desta maneira ???
esvazia toda a memororia ??
Socorro !!
Att. MArcio - Blumenau