Привет !
Сразу извиняюсь за возможную кривизну кода или вопроса, с Нет всего неделю.
Пытаюсь перетащить код с Delphi в C#.
public class MRegistry
{
public FileStream FStream;
private TDataRec FRootData;
public void ReadRegistry(string ARegFile)
{
uint dwLoc=0;
FileStream FStream = new FileStream(ARegFile, FileMode.Open);
BinaryReader br = new BinaryReader(FStream/*, System.Text.ASCIIEncoding*/) ;
FStream.Seek(12, SeekOrigin.Begin);
dwLoc = br.ReadUInt32();
FRootData = CreateData(dwLoc,0,null);
}
public TDataRec CreateData(uint dwLoc, uint dwOwner, TDataRec drParent)
{
TDataRec Result =null;
if ((dwLoc<13) | (dwLoc>= (ulong)(this.FStream.Length - 52)))
return Result;
TRegEntry RegEntry = new TRegEntry();
Там дальше еще код идет, но у меня косяк уже на проверке
if ((dwLoc<13) | (dwLoc>= (ulong)(this.FStream.Length - 52)))
потому что FStream тут уже = null. Я так понимаю, сборщик решил,
что FStream больше никому не нужен.
Подскажите плиз, как решить данную проблему, кроме как передав
FStream в CreateData(uint dwLoc, uint dwOwner, TDataRec drParent, FileStream FStream)
Иванов Виктор