Changeset 705 in dev for trunk


Ignore:
Timestamp:
Jul 21, 2008, 5:42:40 PM (16 years ago)
Author:
イグトランス (egtra)
Message:

ファイルハンドルが解放されず困ることがあるのでCHandleへ入れた。

Location:
trunk/ab5.0/abdev/abdev
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/abdev/Debugger.cpp

    r651 r705  
    485485    }
    486486
    487     HANDLE hFile;
    488487    char temporary[MAX_PATH];
    489488    GetTempPath(MAX_PATH,temporary);
     
    494493    sprintf(temporary,"%sab_breakpoint.tmp",pj_editor_Dir);
    495494
    496     hFile=CreateFile(temporary,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_TEMPORARY,NULL);
     495    ATL::CHandle hFile(CreateFile(temporary,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_TEMPORARY,NULL));
     496    if(hFile==INVALID_HANDLE_VALUE){
     497        hFile.Detach();
     498        return;
     499    }
    497500    DWORD dwAccBytes;
    498501    WriteFile(hFile,buffer,lstrlen(buffer),&dwAccBytes,NULL);
    499     CloseHandle(hFile);
    500502
    501503    HeapDefaultFree(buffer);
  • trunk/ab5.0/abdev/abdev/DocumentAdvice.cpp

    r629 r705  
    186186            if(i3==MdiInfo.size()){
    187187                //ファイルから開く
    188                 HANDLE fh;
    189                 fh=CreateFile(temporary,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
     188                ATL::CHandle fh(CreateFile(temporary,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL));
    190189                if(fh==INVALID_HANDLE_VALUE){
     190                    fh.Detach();
    191191                    goto finish;
    192192                }
     
    198198                temp3[FileSize]=0;
    199199
    200                 CloseHandle(fh);
    201200            }
    202201            else{
  • trunk/ab5.0/abdev/abdev/FileOperation.cpp

    r700 r705  
    2727    DWORD dw;
    2828    char *buffer,temporary[MAX_PATH];
    29     HANDLE hFile;
    30 
    31     hFile=CreateFile(path.c_str(),GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
     29
     30    ATL::CHandle hFile(CreateFile(path.c_str(),GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL));
    3231    if(hFile==INVALID_HANDLE_VALUE){
     32        hFile.Detach();
    3333        //"\"%s\" ファイルの読み込みに失敗しました。"
    3434        sprintf(temporary,STRING_ERROR_CANT_FILEOPEN,path.c_str());
     
    4141    ReadFile(hFile,buffer,i,&dw,0);
    4242    buffer[dw]=0;
    43     CloseHandle(hFile);
    4443    return buffer;
    4544}
    4645char *ReadBuffer_NonErrMsg( const std::string &path ){
    4746    extern HANDLE hHeap;
    48     int i;
    4947    DWORD dw;
    50     char *buffer;
    51     HANDLE hFile;
    52 
    53     hFile=CreateFile(path.c_str(),GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
    54     if(hFile==INVALID_HANDLE_VALUE) return 0;
    55     i=GetFileSize(hFile,0);
    56     buffer=(char *)HeapAlloc(hHeap,0,i+1);
     48
     49    ATL::CHandle hFile(CreateFile(path.c_str(),GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL));
     50    if(hFile==INVALID_HANDLE_VALUE){
     51        hFile.Detach();
     52        return 0;
     53    }
     54    int i=GetFileSize(hFile,0);
     55    char *buffer=(char *)HeapAlloc(hHeap,0,i+1);
    5756    ReadFile(hFile,buffer,i,&dw,0);
    5857    buffer[dw]=0;
    59     CloseHandle(hFile);
    6058    return buffer;
    6159}
    6260_int8 WriteBuffer(const std::string &path,const char *buffer,int length, bool isEnableError)
    6361{
    64     HANDLE hFile;
    6562    DWORD dw;
    66     hFile=CreateFile(path.c_str(),GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
     63    ATL::CHandle hFile(CreateFile(path.c_str(),GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL));
    6764    if(hFile==INVALID_HANDLE_VALUE){
     65        hFile.Detach();
     66
    6867        char temporary[MAX_PATH];
    69 
    7068        if( isEnableError ){
    7169            //"\"%s\" ファイルへの書き込みに失敗しました。"
     
    7674    }
    7775    if(length) WriteFile(hFile,buffer,length,&dw,NULL);
    78     CloseHandle(hFile);
    7976    return 1;
    8077}
     
    371368    int WndNum,i2;
    372369    char temporary[MAX_PATH],str[MAX_PATH],str2[32];
    373     HANDLE fh;
    374370    DWORD dummy;
    375371
     
    404400        if(SaveFileName){
    405401            lstrcpy(temporary,SaveFileName);
    406             if((fh=CreateFile(temporary,GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL))==INVALID_HANDLE_VALUE){
    407                 sprintf(str,STRING_FILE_OVERWRIDE,temporary);
    408                 if(MessageBox(hOwner,str,APPLICATION_NAME,MB_YESNO|MB_ICONINFORMATION)==IDNO){
    409                     return 0;
     402            {
     403                ATL::CHandle fh(CreateFile(temporary,GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL));
     404                if(fh==INVALID_HANDLE_VALUE){
     405                    fh.Detach();
     406                    sprintf(str,STRING_FILE_OVERWRIDE,temporary);
     407                    if(MessageBox(hOwner,str,APPLICATION_NAME,MB_YESNO|MB_ICONINFORMATION)==IDNO){
     408                        return 0;
     409                    }
    410410                }
    411411            }
    412             CloseHandle(fh);
    413412
    414413            //ドキュメント セレクト コンボボックスから消去
     
    478477        ////////////////////////
    479478
    480         fh=CreateFile(temporary,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
    481         if(fh==INVALID_HANDLE_VALUE){
    482             sprintf(str,STRING_ERROR_CANT_FILESAVE,temporary);
    483             MessageBox(hOwner,str,STRING_ERROR,MB_OK|MB_ICONSTOP);
    484             return 0;
    485         }
    486         WriteFile(fh,pBuf,strlen(pBuf),&dummy,NULL);
    487         SetFileIdentityFromFile(*MdiInfo[WndNum], fh);
    488         CloseHandle(fh);
     479        {
     480            ATL::CHandle fh(CreateFile(temporary,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL));
     481            if(fh==INVALID_HANDLE_VALUE){
     482                fh.Detach();
     483                sprintf(str,STRING_ERROR_CANT_FILESAVE,temporary);
     484                MessageBox(hOwner,str,STRING_ERROR,MB_OK|MB_ICONSTOP);
     485                return 0;
     486            }
     487            WriteFile(fh,pBuf,strlen(pBuf),&dummy,NULL);
     488            SetFileIdentityFromFile(*MdiInfo[WndNum], fh);
     489        }
    489490
    490491
     
    501502        if(SaveFileName){
    502503            lstrcpy(temporary,SaveFileName);
    503             if((fh=CreateFile(temporary,GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL))==INVALID_HANDLE_VALUE){
    504                 sprintf(str,STRING_FILE_OVERWRIDE,temporary);
    505                 if(MessageBox(hOwner,str,APPLICATION_NAME,MB_YESNO|MB_ICONINFORMATION)==IDNO){
    506                     CloseHandle(fh);
    507                     return 0;
     504            {
     505                ATL::CHandle fh(CreateFile(temporary,GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL));
     506                if(fh==INVALID_HANDLE_VALUE){
     507                    fh.Detach();
     508                    sprintf(str,STRING_FILE_OVERWRIDE,temporary);
     509                    if(MessageBox(hOwner,str,APPLICATION_NAME,MB_YESNO|MB_ICONINFORMATION)==IDNO){
     510                        return 0;
     511                    }
    508512                }
    509513            }
    510             CloseHandle(fh);
    511514            MdiInfo[WndNum]->path = temporary;
    512515            i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(LONG_PTR)MdiInfo[WndNum]->title.c_str());
  • trunk/ab5.0/abdev/abdev/FileTree.cpp

    r663 r705  
    1111    int i;
    1212    char temporary[MAX_PATH];
    13     HANDLE hFile;
    1413    FILETIME LastWriteTime,LocalTime;
    1514    SYSTEMTIME SystemTime;
     
    3130
    3231                //最終更新日時を表示
    33                 hFile=CreateFile(temporary,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
     32                ATL::CHandle hFile(CreateFile(temporary,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL));
    3433                if(hFile==INVALID_HANDLE_VALUE){
     34                    hFile.Detach();
    3535                    //"エラー"
    3636                    lstrcpy(temporary,STRING_ERROR);
     
    5454                        SystemTime.wHour,SystemTime.wMinute,SystemTime.wSecond,
    5555                        SystemTime.wYear,SystemTime.wMonth,SystemTime.wDay);
    56                     CloseHandle(hFile);
    5756                }
    5857                SetDlgItemText(hwnd,IDC_UPDATE_TIME,temporary);
  • trunk/ab5.0/abdev/abdev/IconEditor.cpp

    r700 r705  
    263263
    264264        //ファイル読み込み(正常に読み込めるかの確認も含む)
    265         HANDLE hFile;
    266         DWORD dw;
    267         hFile=CreateFile(filepath,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
    268         if(hFile==INVALID_HANDLE_VALUE){
    269             //"\"%s\" ファイルの読み込みに失敗しました。"
    270             sprintf(str,STRING_ERROR_CANT_FILEOPEN,filepath);
    271             MessageBox(hOwner,str,STRING_ERROR,MB_OK|MB_ICONEXCLAMATION);
    272             return;
    273         }
    274         i=GetFileSize(hFile,NULL);
    275         buffer=(char *)HeapAlloc(hHeap,0,i+1);
    276         ReadFile(hFile,buffer,i,&dw,NULL);
    277         CloseHandle(hFile);
     265        {
     266            DWORD dw;
     267            ATL::CHandle hFile(CreateFile(filepath,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL));
     268            if(hFile==INVALID_HANDLE_VALUE){
     269                hFile.Detach();
     270                //"\"%s\" ファイルの読み込みに失敗しました。"
     271                sprintf(str,STRING_ERROR_CANT_FILEOPEN,filepath);
     272                MessageBox(hOwner,str,STRING_ERROR,MB_OK|MB_ICONEXCLAMATION);
     273                return;
     274            }
     275            i=GetFileSize(hFile,NULL);
     276            buffer=(char *)HeapAlloc(hHeap,0,i+1);
     277            ReadFile(hFile,buffer,i,&dw,NULL);
     278        }
    278279
    279280        ICONDIR *pIconDir;
     
    518519
    519520    //ファイルへ書き込み
    520     HANDLE hFile;
    521521    DWORD dummy;
    522     hFile=CreateFile(filepath,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
     522    ATL::CHandle hFile(CreateFile(filepath,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL));
    523523    if(hFile==INVALID_HANDLE_VALUE){
     524        hFile.Detach();
    524525        //"\"%s\" ファイルへの書き込みに失敗しました。"
    525526        sprintf(temporary,STRING_ERROR_CANT_FILESAVE,filepath);
     
    529530    WriteFile(hFile,buffer,i2,&dummy,NULL);
    530531    SetFileIdentityFromFile(*MdiInfo[WndNum], hFile);
    531     CloseHandle(hFile);
    532532}
    533533
  • trunk/ab5.0/abdev/abdev/ProjectControl.cpp

    r655 r705  
    827827    //保存
    828828    sprintf(temporary,"%s%s.pj",dir,NewProjectInfo.name);
    829     if(hFind=FindFirstFile(temporary,&wfd)){
    830         if(hFind!=INVALID_HANDLE_VALUE){
    831             FindClose(hFind);
    832 
    833             //"指定したディレクトリにはすでにプロジェクトが存在します。上書きしますか?"
    834             if(MessageBox(hOwner,STRING_ERROR_PROJECT_OVERWRITE,APPLICATION_NAME,MB_YESNO|MB_ICONEXCLAMATION)==IDNO) return;
    835         }
     829    hFind=FindFirstFile(temporary,&wfd);
     830    if(hFind!=INVALID_HANDLE_VALUE){
     831        FindClose(hFind);
     832
     833        //"指定したディレクトリにはすでにプロジェクトが存在します。上書きしますか?"
     834        if(MessageBox(hOwner,STRING_ERROR_PROJECT_OVERWRITE,APPLICATION_NAME,MB_YESNO|MB_ICONEXCLAMATION)==IDNO) return;
    836835    }
    837836    if(!WriteBuffer(temporary,buffer,i)) return;
     
    18121811    BOOST_FOREACH( const ActiveBasic::PM::FM::File &file, folder.files )
    18131812    {
    1814         HANDLE hFile=CreateFile(file.GetFullPath().c_str(),GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
    18151813        FILETIME sourceTime;
    1816         GetFileTime(hFile,NULL,NULL,&sourceTime);
    1817         CloseHandle(hFile);
     1814        {
     1815            ATL::CHandle hFile(CreateFile(file.GetFullPath().c_str(),GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL));
     1816            GetFileTime(hFile,NULL,NULL,&sourceTime);
     1817        }
    18181818
    18191819        if(sourceTime.dwHighDateTime>exeTime.dwHighDateTime||
     
    18271827BOOL IsNeedCompileForProject(BOOL bDebug){
    18281828    char temporary[MAX_PATH];
    1829     HANDLE hFind,hFile;
     1829    HANDLE hFind;
    18301830    WIN32_FIND_DATA wfd;
    18311831    FILETIME SourceTime,ExeTime;
     
    18391839    FindClose(hFind);
    18401840
    1841     hFile=CreateFile(temporary,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
    1842     GetFileTime(hFile,NULL,NULL,&ExeTime);
    1843     CloseHandle(hFile);
     1841    {
     1842        ATL::CHandle hFile(CreateFile(temporary,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL));
     1843        GetFileTime(hFile,NULL,NULL,&ExeTime);
     1844    }
    18441845
    18451846    if( IsNeedCompileForProject( projectInfo.fileSystem.root, ExeTime ) )
     
    18521853        lstrcpy(temporary,"CallBack.wbp");
    18531854        lstrcpy( temporary, projectInfo.GetWorkDir().GetFullPath( temporary ).c_str() );
    1854         hFile=CreateFile(temporary,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
    1855         GetFileTime(hFile,NULL,NULL,&SourceTime);
    1856         CloseHandle(hFile);
     1855        {
     1856            ATL::CHandle hFile(CreateFile(temporary,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL));
     1857            GetFileTime(hFile,NULL,NULL,&SourceTime);
     1858        }
    18571859        if(SourceTime.dwHighDateTime>ExeTime.dwHighDateTime||
    18581860            SourceTime.dwHighDateTime==ExeTime.dwHighDateTime&&
     
    18621864        lstrcpy(temporary,"MakeWindow.wbp");
    18631865        lstrcpy( temporary, projectInfo.GetWorkDir().GetFullPath( temporary ).c_str() );
    1864         hFile=CreateFile(temporary,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
    1865         GetFileTime(hFile,NULL,NULL,&SourceTime);
    1866         CloseHandle(hFile);
     1866        {
     1867            ATL::CHandle hFile(CreateFile(temporary,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL));
     1868            GetFileTime(hFile,NULL,NULL,&SourceTime);
     1869        }
    18671870        if(SourceTime.dwHighDateTime>ExeTime.dwHighDateTime||
    18681871            SourceTime.dwHighDateTime==ExeTime.dwHighDateTime&&
  • trunk/ab5.0/abdev/abdev/SubOperation.cpp

    r698 r705  
    10011001    //256色の標準パレットを読み込む
    10021002    extern RGBQUAD DefaultColorTable256[256];
    1003     HANDLE hFile;
    1004     DWORD dw;
    10051003    const std::string pltPath = ActiveBasic::Common::Environment::GetAbdevSystemDirPath() + "\\8bit.plt";
    1006     hFile=CreateFile(pltPath.c_str(),GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
    1007     if(hFile==INVALID_HANDLE_VALUE){
    1008         //"\"%s\" ファイルの読み込みに失敗しました。"
    1009         sprintf(str,STRING_ERROR_CANT_FILEOPEN,temporary);
    1010         MessageBox(NULL,str,STRING_ERROR,MB_OK|MB_ICONEXCLAMATION);
    1011         return 0;
    1012     }
    1013     ReadFile(hFile,DefaultColorTable256,sizeof(RGBQUAD)*256,&dw,NULL);
    1014     CloseHandle(hFile);
     1004    {
     1005        ATL::CHandle hFile(CreateFile(pltPath.c_str(),GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL));
     1006        if(hFile==INVALID_HANDLE_VALUE){
     1007            hFile.Detach();
     1008            //"\"%s\" ファイルの読み込みに失敗しました。"
     1009            sprintf(str,STRING_ERROR_CANT_FILEOPEN,temporary);
     1010            MessageBox(NULL,str,STRING_ERROR,MB_OK|MB_ICONEXCLAMATION);
     1011            return 0;
     1012        }
     1013        DWORD dw;
     1014        ReadFile(hFile,DefaultColorTable256,sizeof(RGBQUAD)*256,&dw,NULL);
     1015    }
    10151016
    10161017
     
    12671268{
    12681269    char temporary[MAX_PATH],temp2[MAX_PATH],temp3[MAX_PATH];
    1269     HANDLE hFind,hFile;
     1270    HANDLE hFind;
    12701271    WIN32_FIND_DATA wfd;
    12711272    FILETIME SourceTime,ExeTime;
     
    12811282    FindClose(hFind);
    12821283
    1283     hFile=CreateFile(filepath.c_str(),GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
    1284     GetFileTime(hFile,NULL,NULL,&SourceTime);
    1285     CloseHandle(hFile);
    1286 
    1287     hFile=CreateFile(temporary,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
    1288     GetFileTime(hFile,NULL,NULL,&ExeTime);
    1289     CloseHandle(hFile);
     1284    {
     1285        CHandle hFile(CreateFile(filepath.c_str(),GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL));
     1286        GetFileTime(hFile,NULL,NULL,&SourceTime);
     1287    }
     1288    {
     1289        CHandle hFile(CreateFile(temporary,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL));
     1290        GetFileTime(hFile,NULL,NULL,&ExeTime);
     1291    }
    12901292
    12911293    if(SourceTime.dwHighDateTime<ExeTime.dwHighDateTime) return 0;
  • trunk/ab5.0/abdev/abdev/abdev.cpp

    r700 r705  
    757757
    758758    if(filepath){
    759         HANDLE hFile=CreateFile(filepath,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
     759        ATL::CHandle hFile(CreateFile(filepath,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL));
    760760        if(hFile==INVALID_HANDLE_VALUE){
     761            hFile.Detach();
    761762            sprintf(str,STRING_ERROR_CANT_FILEOPEN,filepath);
    762763            ::MessageBox(hOwner,str,STRING_ERROR,MB_OK|MB_ICONEXCLAMATION);
     
    809810        DWORD dw;
    810811        ReadFile(hFile,temp,length,&dw,NULL);
    811         CloseHandle(hFile);
    812812        for(i=0;i<length;i++){
    813813            if(temp[i]=='\0') temp[i]=' ';
  • trunk/ab5.0/abdev/abdev/include/WindowComponents/MdiChild.h

    r489 r705  
    2020    END_MSG_MAP()
    2121
    22     LRESULT OnCreate(LPCREATESTRUCT lpcs){
     22    LRESULT OnCreate(LPCREATESTRUCT){
    2323        SetMsgHandled(false);
    2424        return 1;
  • trunk/ab5.0/abdev/abdev/src/MainFrame.cpp

    r697 r705  
    549549    //エラー部分を反転表示
    550550    DWORD AccBytes;
    551     HANDLE fh;
    552     sprintf(temporary,"%spgm.tmp",pj_editor_Dir);
    553     fh=CreateFile(temporary,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
    554     ReadFile(fh,temporary,MAX_PATH,&AccBytes,NULL);
    555     CloseHandle(fh);
     551    {
     552        sprintf(temporary,"%spgm.tmp",pj_editor_Dir);
     553        ATL::CHandle fh(CreateFile(temporary,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL));
     554        if(fh==INVALID_HANDLE_VALUE){
     555            fh.Detach();
     556            return 0;
     557        }
     558        ReadFile(fh,temporary,MAX_PATH,&AccBytes,NULL);
     559    }
    556560    temporary[AccBytes]=0;
    557561    HWND hChild=::GetWindow(hClient,GW_CHILD);
     
    11111115
    11121116    CreateProcess( NULL, args, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi );
     1117    CloseHandle( pi.hProcess );
     1118    CloseHandle( pi.hThread );
    11131119}
    11141120
     
    11301136        sprintf(temporary,"%s\r\n%s",projectInfo.szExePath,projectInfo.szCmdLine);
    11311137        sprintf(temp2,"%spgm.tmp",pj_editor_Dir);
    1132         HANDLE hFile=CreateFile(temp2,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_TEMPORARY,NULL);
    1133         DWORD dwAccessBytes;
    1134         WriteFile(hFile,temporary,lstrlen(temporary),&dwAccessBytes,NULL);
    1135         CloseHandle(hFile);
     1138        {
     1139            ATL::CHandle hFile(CreateFile(temp2,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_TEMPORARY,NULL));
     1140            if(hFile==INVALID_HANDLE_VALUE){
     1141                hFile.Detach();
     1142                MessageBox(TEXT("デバッグ用ファイルを開けませんでした。"));
     1143                return;
     1144            }
     1145            DWORD dwAccessBytes;
     1146            WriteFile(hFile,temporary,lstrlen(temporary),&dwAccessBytes,NULL);
     1147        }
    11361148
    11371149        //ソースファイル名をtemp2へ
Note: See TracChangeset for help on using the changeset viewer.