Hola
Sólo un comentario referente a esos ejemplos. Los objetos ya se pasan por referencia, con lo que no hace falta especificar el
var en la declaración, es decir, esto
Código Delphi
[-]procedure ArchivosDirectorio(dir, mascara: string; var lista: TStrings; const soloNombres: boolean);
y esto
Código Delphi
[-]procedure ArchivosDirectorio(dir, mascara: string; lista: TStrings; const soloNombres: boolean);
es lo mismo. Lo mismo con el otro ejemplo