)\r
{\r
// ファイルを開く。\r
- wxFile hFile;\r
- if (! hFile.Exists(_szArcName) || ! hFile.Open(_szArcName, wxFile::read))\r
- {\r
- return TPI_ERROR_IO_ARC_OPEN;\r
- }\r
-\r
- // 最初の2KBを読み込み。\r
char buffer[2050];\r
- ::ZeroMemory(buffer, sizeof(buffer));\r
- if (hFile.Read(buffer, sizeof(buffer)) == wxInvalidOffset)\r
{\r
- hFile.Close();\r
- return TPI_ERROR_IO_ARC_READ;\r
+ wxFile hFile;\r
+ if (! hFile.Exists(_szArcName) || ! hFile.Open(_szArcName, wxFile::read))\r
+ {\r
+ return TPI_ERROR_IO_ARC_OPEN;\r
+ }\r
+\r
+ // 最初の2KBを読み込み。\r
+ ::ZeroMemory(buffer, sizeof(buffer));\r
+ if (hFile.Read(buffer, sizeof(buffer)) == wxInvalidOffset)\r
+ {\r
+ return TPI_ERROR_IO_ARC_READ;\r
+ }\r
}\r
- hFile.Close();\r
\r
wxString szSPIPath = wxPathOnly(wxStandardPaths::Get().GetExecutablePath()) + wxT("/lib/"), szSPIName;\r
wxDir fs(szSPIPath);\r
}\r
\r
// 展開先に出力。\r
- wxFile hFile;\r
- if (! hFile.Create(piInfo.fnDestination.GetFullPath()))\r
+ bool bErrorOccured;\r
{\r
- nErrorCode = TPI_ERROR_IO_FILE_OPEN;\r
- break;\r
+ wxFile hFile;\r
+ if (! hFile.Create(piInfo.fnDestination.GetFullPath()))\r
+ {\r
+ nErrorCode = TPI_ERROR_IO_FILE_OPEN;\r
+ break;\r
+ }\r
+\r
+ bErrorOccured = hFile.Write(::LocalLock(hMemory), piInfo.fiInfo.nUnpackedSize) != piInfo.fiInfo.nUnpackedSize;\r
+ ::LocalUnlock(hMemory);\r
+ ::LocalFree(hMemory);\r
}\r
\r
- bool bErrorOccured = hFile.Write(::LocalLock(hMemory), piInfo.fiInfo.nUnpackedSize) != piInfo.fiInfo.nUnpackedSize;\r
- ::LocalUnlock(hMemory);\r
- ::LocalFree(hMemory);\r
- hFile.Close();\r
if (bErrorOccured)\r
{\r
nErrorCode = TPI_ERROR_IO_FILE_WRITE;\r
)\r
{\r
// ファイルを開く。\r
- wxFile hFile;\r
- if (! hFile.Exists(_szArcName) || ! hFile.Open(_szArcName, wxFile::read))\r
- {\r
- return TPI_ERROR_IO_ARC_OPEN;\r
- }\r
-\r
- // 最初の2KBを読み込み。\r
char buffer[2050];\r
- ::ZeroMemory(buffer, sizeof(buffer));\r
- if (hFile.Read(buffer, sizeof(buffer)) == wxInvalidOffset)\r
{\r
- hFile.Close();\r
- return TPI_ERROR_IO_ARC_READ;\r
+ wxFile hFile;\r
+ if (! hFile.Exists(_szArcName) || ! hFile.Open(_szArcName, wxFile::read))\r
+ {\r
+ return TPI_ERROR_IO_ARC_OPEN;\r
+ }\r
+\r
+ // 最初の2KBを読み込み。\r
+ ::ZeroMemory(buffer, sizeof(buffer));\r
+ if (hFile.Read(buffer, sizeof(buffer)) == wxInvalidOffset)\r
+ {\r
+ return TPI_ERROR_IO_ARC_READ;\r
+ }\r
}\r
- hFile.Close();\r
\r
wxString szSPIPath = wxPathOnly(wxStandardPaths::Get().GetExecutablePath()) + wxT("/lib/"), szSPIName;\r
wxDir fs(szSPIPath);\r