Amigos, estoy teniendo problemas con la lectura de un archivo DAT creado con TFileStream, tengo lo siguiente:
TParamsConnection = record Database: String[200]; Username: String[200]; Password: String[200]; Server: String[255]; Protocol: String[200]; Port: String[200]; Driver: String[200]; end; procedure SaveConnection; var AConn: TParamsConnection; AStream: TFileStream; begin AConn.Database := edDBPath.Text; AConn.Username := edUser.Text; AConn.Password := edClave.Text; AConn.Server := edServer.Text; AConn.Protocol := cbProtocolo.Items.Strings[cbProtocolo.ItemIndex]; AConn.Port := edPuerto.Text; AConn.Driver := edDriver.Text; AStream := TFileStream.Create('DataConfig.dat', fmCreate or fmShareExclusive); try if AStream.Write(AConn, SizeOf(AConn)) <> SizeOf(AConn) then raise Exception.Create('Error al intentar crear el archivo!'); finally AStream.Free; end; end; function GetParamConnections: TParamsConnection; Var AConn: TParamsConnection; AStream: TFileStream; begin Result := AConn; if FileExists(ExtractFilePath(Application.ExeName) + 'DataConfig\DataConfig.dat') then begin AStream := TFileSTream.Create(ExtractFilePath(Application.ExeName) + 'DataConfig\DataConfig.dat', fmOpenRead or fmShareDenyNone); try if AStream.Read(AConn, SizeOf(AConn)) <> SizeOf(AConn) then raise Exception.Create('Error al leer el archivo!'); Result := AConn; finally AStream.Free; end; end else begin MessageDLG('No se encuentra el archivo de configuración!',mtWarning,[mbOk],0); Application.Terminate; end; end;
Siempre me marca error de no se puede leer el archivo, tal donde está línea marcada de amarillo en el código anterior. No le encuentro ni pies ni cabeza, y he perdido la mañana entera en eso.