Changeset 455 in dev for trunk/ab5.0


Ignore:
Timestamp:
Mar 22, 2008, 9:47:59 PM (17 years ago)
Author:
dai_9181
Message:

・コンパイルビューへの出力を標準出力にも行うようにした。
#164への対応。コンパイルを中断すると高確率で強制終了してしまうバグを修正。
・ProjectEditorをVista用Microsoft SDKにてビルドできるようにした(WINVER定数を0x0501に指定した)。
#168への対応。エディタ上のDelegateキーワードを青色で表示するようにした。

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

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/BasicCompiler32/BasicCompiler.vcproj

    r445 r455  
    7676            <Tool
    7777                Name="VCLinkerTool"
    78                 AdditionalDependencies="comctl32.lib psapi.lib commond.lib smoothied.lib imagehlp.lib"
     78                AdditionalDependencies="comctl32.lib psapi.lib commond.lib smoothied.lib imagehlp.lib shlwapi.lib"
    7979                OutputFile="../ActiveBasic/BasicCompiler32.exe"
    8080                LinkIncremental="2"
     
    8383                GenerateDebugInformation="true"
    8484                ProgramDatabaseFile=".\Debug/BasicCompiler32.pdb"
    85                 SubSystem="2"
     85                SubSystem="1"
    8686                StackReserveSize="4194304"
    8787                TargetMachine="1"
     
    180180            <Tool
    181181                Name="VCLinkerTool"
    182                 AdditionalDependencies="comctl32.lib psapi.lib common.lib smoothie.lib imagehlp.lib"
     182                AdditionalDependencies="comctl32.lib psapi.lib common.lib smoothie.lib imagehlp.lib shlwapi.lib"
    183183                OutputFile="../ActiveBasic/BasicCompiler32.exe"
    184184                LinkIncremental="1"
     
    186186                AdditionalLibraryDirectories="..\..\jenga\lib\x86;..\lib\x86"
    187187                ProgramDatabaseFile=".\Release/BasicCompiler32.pdb"
    188                 SubSystem="2"
     188                SubSystem="1"
    189189                TargetMachine="1"
    190190            />
     
    15391539                    </File>
    15401540                    <File
    1541                         RelativePath="..\BasicCompiler_Common\include\Program.h"
    1542                         >
    1543                     </File>
    1544                     <File
    15451541                        RelativePath="..\BasicCompiler_Common\include\Prototype.h"
    15461542                        >
     
    15711567                    </File>
    15721568                </Filter>
     1569            </Filter>
     1570            <Filter
     1571                Name="Application Classes"
     1572                >
     1573                <File
     1574                    RelativePath="..\BasicCompiler_Common\include\Program.h"
     1575                    >
     1576                </File>
    15731577            </Filter>
    15741578        </Filter>
  • trunk/ab5.0/abdev/BasicCompiler_Common/BasicCompiler.cpp

    r378 r455  
    11#include "stdafx.h"
     2
     3#include <shlwapi.h>
    24
    35#include <jenga/include/common/Path.h>
     
    573575}
    574576
    575 int PASCAL WinMain(HINSTANCE hThisInst,HINSTANCE hPrevInst,LPSTR lpCmdLine,int nShowCmd){
     577int main()
     578{
    576579    int i,i2;
    577580    char temporary[1024],temp2[MAX_PATH];
     581
     582    hInst = GetModuleHandle( NULL );
     583    LPSTR lpCmdLine = PathGetArgs( GetCommandLine() );
    578584
    579585    //_Test();
     
    588594    ScreenX=GetSystemMetrics(SM_CXSCREEN);
    589595    ScreenY=GetSystemMetrics(SM_CYSCREEN);
    590 
    591     hInst=hThisInst;
    592596
    593597    //不揮発性データを取得
     
    919923    trace("Complete ActiveBasic Compiler!");
    920924
     925    ExitProcess( 0 );
    921926
    922927    return 0;
  • trunk/ab5.0/abdev/BasicCompiler_Common/Debug.cpp

    r357 r455  
    464464        if( !compiler.IsDll() ){
    465465            //EXEファイルをデバッグ
    466             CreateProcess(OutputFileName,szDebugCmdLine,NULL,NULL,0,NORMAL_PRIORITY_CLASS|DEBUG_ONLY_THIS_PROCESS,NULL,NULL,&si,&pi);
     466            CreateProcess(OutputFileName,szDebugCmdLine,NULL,NULL,0,NORMAL_PRIORITY_CLASS|DEBUG_ONLY_THIS_PROCESS|CREATE_NEW_CONSOLE,NULL,NULL,&si,&pi);
    467467        }
    468468        else{
    469469            //DLLファイルをデバッグ
    470             CreateProcess(ExeFilePathForDll,szDebugCmdLine,NULL,NULL,0,NORMAL_PRIORITY_CLASS|DEBUG_ONLY_THIS_PROCESS,NULL,NULL,&si,&pi);
     470            CreateProcess(ExeFilePathForDll,szDebugCmdLine,NULL,NULL,0,NORMAL_PRIORITY_CLASS|DEBUG_ONLY_THIS_PROCESS|CREATE_NEW_CONSOLE,NULL,NULL,&si,&pi);
    471471        }
    472472
  • trunk/ab5.0/abdev/BasicCompiler_Common/error.cpp

    r448 r455  
    11#include "stdafx.h"
     2
     3#include <iostream>
    24
    35#include <Program.h>
     
    377379    SendDlgItemMessage(hMainDlg,IDC_ERRORLIST,EM_REPLACESEL,0,(LPARAM)temp2);
    378380
    379 
     381    std::string msg = temp2;
    380382    if(num==-2){
    381383        //コンパイルメッセージ
     
    385387    }
    386388    else{
     389        msg = (num>-100) ? "error - " : "warning - ";
     390        msg += temp2;
    387391        if(num>-100){
    388392            //警告ではなく、エラーの場合はエラーチェックフラグを立てる
    389393            extern BOOL bError;
    390394            bError=1;
    391 
    392             // ログに出力
    393             trace( "error - " << temp2 );
    394395        }
    395396        else{
    396397            extern int WarningNum;
    397398            WarningNum++;
    398 
    399             // ログに出力
    400             trace( "warning - " << temp2 );
    401         }
    402     }
     399        }
     400
     401        // ログに出力
     402        trace( msg );
     403    }
     404
     405    std::cout << msg << endl;
     406
    403407
    404408    ErrorNum++;
  • trunk/ab5.0/abdev/ProjectEditor/DialogBoxes.cpp

    r302 r455  
    11091109
    11101110        //SideWebウィンドウを再表示
    1111         delete pobj_SideWeb;
    1112         pobj_SideWeb=new CSideWeb(hOwner);
    1113         ResizeOwnerWnd();
     1111        //delete pobj_SideWeb;
     1112        //pobj_SideWeb=new CSideWeb(hOwner);
     1113        //ResizeOwnerWnd();
    11141114    }
    11151115    return;
  • trunk/ab5.0/abdev/ProjectEditor/ProjectEditor.cpp

    r302 r455  
    8686#endif
    8787
     88
     89void CreateProcessWithStdHandle( const char *appPath, const char *cmdLine)
     90{
     91    std::string argsStr = (std::string)"\"" + appPath + "\" " + cmdLine;
     92    STARTUPINFO si;
     93    PROCESS_INFORMATION pi;
     94    memset(&si,0,sizeof(STARTUPINFO));
     95    si.cb=sizeof(STARTUPINFO);
     96    si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
     97    si.wShowWindow = SW_HIDE;
     98    si.hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
     99    si.hStdInput = GetStdHandle(STD_INPUT_HANDLE);
     100    si.hStdError = GetStdHandle(STD_ERROR_HANDLE);
     101   
     102    char args[8192];
     103    lstrcpy( args, argsStr.c_str() );
     104
     105    CreateProcess( NULL, args, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi );
     106}
    88107
    89108void ToBigChar(char str[]){
     
    12881307
    12891308    int width_SideWeb=0;
    1290     if(pobj_SideWeb->bShow){
    1291         width_SideWeb=pobj_nv->width_WebSearchView+LEVER_THICK;
     1309    if( pobj_SideWeb )
     1310    {
     1311        if(pobj_SideWeb->bShow){
     1312            width_SideWeb=pobj_nv->width_WebSearchView+LEVER_THICK;
     1313        }
    12921314    }
    12931315
     
    13231345        1);
    13241346
    1325     if(pobj_SideWeb->bShow){
    1326         //SideWeb
    1327         pobj_SideWeb->resize(
    1328             width_owner - pobj_nv->width_WebSearchView,
    1329             height_Rebar,
    1330             pobj_nv->width_WebSearchView,
    1331             height_MdiClient);
    1332     }
    1333     else pobj_SideWeb->resize(0,0,0,0);
     1347    if( pobj_SideWeb )
     1348    {
     1349        if(pobj_SideWeb->bShow){
     1350            //SideWeb
     1351            pobj_SideWeb->resize(
     1352                width_owner - pobj_nv->width_WebSearchView,
     1353                height_Rebar,
     1354                pobj_nv->width_WebSearchView,
     1355                height_MdiClient);
     1356        }
     1357        else pobj_SideWeb->resize(0,0,0,0);
     1358    }
    13341359
    13351360    if(width_pjv){
     
    14591484
    14601485        case WM_DRAWITEM:
    1461             DRAWITEMSTRUCT *pdis;
    1462             pdis=(DRAWITEMSTRUCT *)lParam;
    1463 
    1464             if(pdis->CtlType==ODT_MENU){
    1465                 if(!pobj_MainMenu) return 0;
    1466 
    1467                 CMenuItemData *pobj_MenuItemData;
    1468                 pobj_MenuItemData=(CMenuItemData *)pdis->itemData;
    1469                 if(pobj_MainMenu->hMenu==pobj_MenuItemData->pobj_ThisMenu->hMenu){
    1470                     //メインメニューの親アイテム
    1471                     pobj_MainMenu->OwnerDrawMenu(pdis->hDC,
    1472                         &pdis->rcItem,
    1473                         (pdis->itemState&ODS_SELECTED)!=0,
    1474                         pobj_MenuItemData->item_index);
     1486            {
     1487                DRAWITEMSTRUCT *pdis = (DRAWITEMSTRUCT *)lParam;
     1488
     1489                if(pdis->CtlType==ODT_MENU){
     1490                    if(!pobj_MainMenu) return 0;
     1491
     1492                    CMenuItemData *pobj_MenuItemData;
     1493                    pobj_MenuItemData=(CMenuItemData *)pdis->itemData;
     1494                    if(pobj_MainMenu->hMenu==pobj_MenuItemData->pobj_ThisMenu->hMenu){
     1495                        //メインメニューの親アイテム
     1496                        pobj_MainMenu->OwnerDrawMenu(pdis->hDC,
     1497                            &pdis->rcItem,
     1498                            (pdis->itemState&ODS_SELECTED)!=0,
     1499                            pobj_MenuItemData->item_index);
     1500                    }
     1501                    else{
     1502                        //メインメニューにぶらさがるサブメニュー
     1503                        pobj_MainMenu->OwnerDrawSubMenu(pobj_MenuItemData->pobj_ThisMenu->hMenu,
     1504                            pdis->hDC,
     1505                            &pdis->rcItem,
     1506                            (pdis->itemState&ODS_SELECTED)!=0,
     1507                            pobj_MenuItemData->item_index);
     1508                    }
    14751509                }
    1476                 else{
    1477                     //メインメニューにぶらさがるサブメニュー
    1478                     pobj_MainMenu->OwnerDrawSubMenu(pobj_MenuItemData->pobj_ThisMenu->hMenu,
    1479                         pdis->hDC,
    1480                         &pdis->rcItem,
    1481                         (pdis->itemState&ODS_SELECTED)!=0,
    1482                         pobj_MenuItemData->item_index);
    1483                 }
    1484             }
    1485             return 0;
     1510
     1511                return 0;
     1512            }
    14861513
    14871514        case WM_NOTIFY:
     
    20542081
    20552082                    sprintf(str,"%s%s",pj_editor_Dir,lpszCompilerName);
    2056                     ShellExecute(hwnd,"open",str,temporary,NULL,SW_SHOWNORMAL);
     2083
     2084                    CreateProcessWithStdHandle( str, temporary );
     2085
    20572086                    return 0;
    20582087                case IDM_DEBUGCOMPILE:
     
    21042133
    21052134                    sprintf(str,"%s%s",pj_editor_Dir,lpszCompilerName);
    2106                     ShellExecute(hwnd,"open",str,temporary,NULL,SW_SHOWNORMAL);
     2135
     2136                    CreateProcessWithStdHandle( str, temporary );
    21072137
    21082138                    return 0;
     
    21402170                        sprintf(str,"%s%s",pj_editor_Dir,WIN64_COMPILER_NAME);
    21412171
    2142                     ShellExecute(hwnd,"open",str,temporary,NULL,SW_SHOWNORMAL);
     2172                    CreateProcessWithStdHandle( str, temporary );
     2173
    21432174                    return 0;
    21442175                case IDM_RELEASECOMPILE:
     
    21902221
    21912222                    sprintf(str,"%s%s",pj_editor_Dir,lpszCompilerName);
    2192                     ShellExecute(hwnd,"open",str,temporary,NULL,SW_SHOWNORMAL);
     2223
     2224                    CreateProcessWithStdHandle( str, temporary );
     2225
    21932226                    return 0;
    21942227                case IDM_RELEASERUN:
     
    27212754            }
    27222755#endif
    2723             if(pobj_SideWeb->bShow){
    2724                 //SideWebとMDIクライアントの境目のサイズ変更ライン
    2725                 pobj_SideWeb->GetRect(&rect);
    2726                 ClientToScreen(hwnd,&rect);
    2727                 if(rect.top<=pos.y&&pos.y<=rect.bottom&&
    2728                     rect.left-LEVER_THICK<=pos.x&&pos.x<=rect.left){
    2729                     SetCursor(LoadCursor(0,IDC_SIZEWE));
     2756            if( pobj_SideWeb )
     2757            {
     2758                if(pobj_SideWeb->bShow){
     2759                    //SideWebとMDIクライアントの境目のサイズ変更ライン
     2760                    pobj_SideWeb->GetRect(&rect);
     2761                    ClientToScreen(hwnd,&rect);
     2762                    if(rect.top<=pos.y&&pos.y<=rect.bottom&&
     2763                        rect.left-LEVER_THICK<=pos.x&&pos.x<=rect.left){
     2764                        SetCursor(LoadCursor(0,IDC_SIZEWE));
     2765                    }
    27302766                }
    27312767            }
  • trunk/ab5.0/abdev/ProjectEditor/ProjectEditor.vcproj

    r123 r455  
    143143                Name="VCCLCompilerTool"
    144144                Optimization="0"
    145                 PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;JPN;THETEXT;SHAREWARE"
     145                PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;JPN;THETEXT;SHAREWARE;WINVER=0x0501;_WIN32_WINNT=0x0501"
    146146                MinimalRebuild="true"
    147147                BasicRuntimeChecks="3"
     
    241241                Optimization="2"
    242242                InlineFunctionExpansion="1"
    243                 PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;JPN;THETEXT"
     243                PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;JPN;THETEXT;WINVER=0x0501;_WIN32_WINNT=0x0501"
    244244                StringPooling="true"
    245245                RuntimeLibrary="0"
     
    336336                Name="VCCLCompilerTool"
    337337                Optimization="0"
    338                 PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;JPN"
     338                PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;JPN;WINVER=0x0501;_WIN32_WINNT=0x0501"
    339339                MinimalRebuild="true"
    340340                BasicRuntimeChecks="3"
     
    434434                Optimization="2"
    435435                InlineFunctionExpansion="1"
    436                 PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;JPN;THETEXT;SHAREWARE"
     436                PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;JPN;THETEXT;SHAREWARE;WINVER=0x0501;_WIN32_WINNT=0x0501"
    437437                StringPooling="true"
    438438                RuntimeLibrary="0"
     
    530530                Optimization="2"
    531531                InlineFunctionExpansion="1"
    532                 PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;JPN"
     532                PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;JPN;WINVER=0x0501;_WIN32_WINNT=0x0501"
    533533                StringPooling="true"
    534534                RuntimeLibrary="0"
     
    555555            <Tool
    556556                Name="VCLinkerTool"
    557                 AdditionalDependencies="odbc32.lib odbccp32.lib comctl32.lib imm32.lib htmlhelp.lib rpcrt4.lib libcp.lib"
     557                AdditionalDependencies="odbc32.lib odbccp32.lib comctl32.lib imm32.lib htmlhelp.lib rpcrt4.lib"
    558558                OutputFile="../ActiveBasic/abdev.exe"
    559559                LinkIncremental="1"
     
    625625                Name="VCCLCompilerTool"
    626626                Optimization="0"
    627                 PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;JPN;THETEXT"
     627                PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;JPN;THETEXT;WINVER=0x0501;_WIN32_WINNT=0x0501"
    628628                MinimalRebuild="true"
    629629                BasicRuntimeChecks="3"
  • trunk/ab5.0/abdev/ProjectEditor/SubOperation.cpp

    r446 r455  
    482482        if(lstrcmpi(str,"Declare")==0) return COM_DECLARE;
    483483        if(lstrcmpi(str,"Def")==0) return COM_DEF;
     484        if(lstrcmpi(str,"Delegate")==0) return -1;
    484485        if(lstrcmpi(str,"Delete")==0) return -1;
    485486        if(lstrcmpi(str,"DelWnd")==0) return COM_DELWND;
     
    10571058    //メニューフォント
    10581059    NONCLIENTMETRICS NCMetrics;
    1059     NCMetrics.cbSize = sizeof( NONCLIENTMETRICS );
    1060     SystemParametersInfo( SPI_GETNONCLIENTMETRICS, sizeof( NONCLIENTMETRICS ), &NCMetrics, 0 );
     1060    int sizeof_NONCLIENTMETRICS = sizeof( NONCLIENTMETRICS );
     1061#if WINVER >= 0x0600
     1062    sizeof_NONCLIENTMETRICS -= sizeof(int);
     1063#endif
     1064    NCMetrics.cbSize = sizeof_NONCLIENTMETRICS;
     1065    SystemParametersInfo( SPI_GETNONCLIENTMETRICS, sizeof_NONCLIENTMETRICS, &NCMetrics, 0 );
    10611066    hMenuFont=CreateFontIndirect(&NCMetrics.lfMenuFont);
    10621067
     
    14631468
    14641469    //SideWebを生成
    1465     pobj_SideWeb=new CSideWeb(hwnd);
     1470    //pobj_SideWeb=new CSideWeb(hwnd);
    14661471}
    14671472
  • trunk/ab5.0/abdev/ProjectEditor/menu.cpp

    r84 r455  
    172172    char temporary[MAX_PATH];
    173173    MENUITEMINFO mii;
     174    memset(&mii,0,sizeof(MENUITEMINFO));
    174175    mii.cbSize=sizeof(MENUITEMINFO);
    175176    mii.fMask=MIIM_TYPE|MIIM_ID|MIIM_SUBMENU|MIIM_DATA;
Note: See TracChangeset for help on using the changeset viewer.