// EPOC default constructor can leave. void CPosResourceReader::ConstructL(const TDesC& aPath) { User::LeaveIfError(iFileSession.Connect()); TFindFile* filefinder = new (ELeave) TFindFile(iFileSession); CleanupStack::PushL(filefinder); TParse* fileparser = new (ELeave) TParse; CleanupStack::PushL(fileparser); fileparser->Set(aPath, NULL, NULL); User::LeaveIfError(filefinder->FindByDir(fileparser->NameAndExt(), fileparser->DriveAndPath())); iResourceFile.OpenL(iFileSession, filefinder->File()); iResourceFile.ConfirmSignatureL(0); CleanupStack::Pop(2, filefinder); // fileparser delete filefinder; delete fileparser; }