|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2008
Messaggi: 70
|
[C++ e C#] accessi NON concorrenti
Ciao a tutti... io ho un problema che dovrebbe essere banale ma in realtà non ci riesco!!
Ho 2 programmi in esecuzione, uno in C++ e uno in C# e in pratica quello in C# prepara un file che viene letto dal C++. Io non voglio che entrambe i programmi accedano in modo concorrente allo stesso file!! ma sembra che non riesca a fermarli in tempo... in C# ho usato queste righe di codice: Codice:
FileStream fs = new FileStream("DataIN.dat", FileMode.Open, FileAccess.Read, FileShare.None);
if (fs.CanRead == false)
{
lblStatusBar.Text = "DataIN opened";
}
Codice:
ifstream in;
in.open("DataIN.dat", ios::in);
if (in.is_open())
cout << "!!aperto!!";
|
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Oct 2008
Messaggi: 70
|
rettifico un attimo: in C# con
Codice:
try
{
FileStream fs = new FileStream("DataIN.dat", FileMode.Open, FileAccess.Read, FileShare.None);
if (fs.CanRead == false)
{
lblStatusBar.Text = "DataIN opened";
}
else
{
lblStatusBar.Text = "DataIN libero";
}
fs.Close();
}
catch
{
lblStatusBar.Text = "DataIN opened";
}
Resta il problema che il C++ ci va dentro lo stesso! |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Per fare un lock a livello di file devi usare le primitive del sistema operativo ospite o al limite un qualche framework di più alto livello rispetto alla libreria standard del C++.
|
|
|
|
|
|
#4 | |
|
Member
Iscritto dal: Oct 2008
Messaggi: 70
|
Quote:
Nessuno ha mai usato sta roba? o sono l'unico?!?!
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:28.




















