Issue !16751: [CEA16749] import MED 3.0 files in SMESH: exception

This commit is contained in:
vsr 2019-03-28 14:54:46 +03:00
parent 550595c56d
commit 3421298e04
3 changed files with 12 additions and 15 deletions

View File

@ -211,7 +211,7 @@ namespace MED
if (!CheckCompatibility(fileName)) {
EXCEPTION(std::runtime_error, "Cannot open file '"<<fileName<<"'.");
}
return new MED::TWrapper(fileName);
return new MED::TWrapper(fileName, false);
}
PWrapper CrWrapperW(const std::string& fileName, int theVersion)
@ -251,6 +251,6 @@ namespace MED
CreateEmptyMEDFile(fileName, theVersion);
}
}
return new MED::TWrapper(fileName, minor);
return new MED::TWrapper(fileName, true, minor);
}
}

View File

@ -187,25 +187,22 @@ namespace MED
//---------------------------------------------------------------
TWrapper
::TWrapper(const std::string& theFileName, TInt theMinor):
::TWrapper(const std::string& theFileName, bool write, TInt theMinor):
myFile(new TFile(theFileName, theMinor)),
myMinor(theMinor)
{
TErr aRet;
if ( write ) {
myFile->Open(eLECTURE_ECRITURE, &aRet);
// if (aRet < 0)
// myFile->Close();
// myFile->Open(eLECTURE_AJOUT, &aRet);
// }
if (aRet < 0) {
myFile->Close();
myFile->Open(eLECTURE, &aRet);
}
if (aRet < 0) {
myFile->Close();
myFile->Open(eCREATION, &aRet);
}
}
else {
myFile->Open(eLECTURE, &aRet);
}
}
//----------------------------------------------------------------------------
TWrapper::

View File

@ -52,7 +52,7 @@ namespace MED
TWrapper& operator=(const TWrapper&);
public:
TWrapper(const std::string& theFileName, TInt theVersion=-1);
TWrapper(const std::string& theFileName, bool write, TInt theVersion=-1);
virtual
~TWrapper();