Demzufolge müßte es fmShareCompat: Integer = 0; sein fmShareExclusive hat den Wert 10.
Eben weil
fmShareCompat = 0
ist, hat es beim OR ja keine Auswirkung. In deinem Fall wäre
fmShareDenyWrite oder
fmShareDenyNone wohl die bessere Wahl.
FileStream := TFileStream.Create(Filename, fmOpenRead or fmShareDenyNone);