Código Delphi
[-]
var F: TextFile;
begin
_Tamanio := 0;
AssignFile( F, edtArchivo.Text);
asi es mas o menos como lo hago yo
tu estas usando
Ruta+
Copy(ExtractFileName(OpenDialog.FileName)+'.kcl'
cuando usas el opendialog, no es necesario usar el extracfilename, porque el opendialog te muestra toda la ruta del archivo que acabas de escoger