Exception koji mi se javlja je sljedeci:
The process cannot access the file 'D:\Program Files\...\Data.txt' because it is being used by another process.
A ovo je dio koda koji je za to kriv:
(neke funkcije jos nisu dovrsene)
private bool firstTimeStart()
return true;
if (Directory.Exists(path + @"\WoW Server Selector"))
{
return false;
}
}
////////////////////////////////////////////////////////////////////////
public void programDataFiles()
{
if (firstTimeStart())
{
Directory.CreateDirectory(path + @"\WoW Server Selector");
File.Create(path + @"\WoW Server Selector" + @"\Data.txt");
}
else
{
}
}
////////////////////////////////////////////////////////////////////////
public void setPath()
{
path = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
}
////////////////////////////////////////////////////////////////////////
public
ServerListManagment()
{
setPath();
programDataFiles();
streamer = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @"\\WoW Server Selector\Data.txt",FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite);
citac = new StreamReader(streamer);
getNumberOfServers();
serverNames = new string [numberOfServers];
serverRealmList = new string [numberOfServers];
fillWithData();
}
Na pocetku sam koristio samo StreamReader citac na ovaj nacin:
citac = new StreamReader(path + @"\...\Data.txt");
Procito sam na par foruma i ljudi su pricali da treba ubaciti ovaj FileStream, definirati postavke te njega ubaciti kao atribut za stvaranje novog StreamReader -a:
streamer = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @"\\WoW Server Selector\Data.txt",FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite);
citac =
new StreamReader(streamer);
I to sam učinio baš zbog ovoga atributa:
FileShare.ReadWrite
koji bi mi navodno omogucio da se pise u datoteku istovremeno dok njoj pristupa neki drugi proces.
Međutim opet ista stvar :S
help me!! :(