Index: /trunk/ab5.0/abdev/BasicCompiler32/BasicCompiler.vcproj
===================================================================
--- /trunk/ab5.0/abdev/BasicCompiler32/BasicCompiler.vcproj (revision 454)
+++ /trunk/ab5.0/abdev/BasicCompiler32/BasicCompiler.vcproj (revision 455)
@@ -76,5 +76,5 @@
@@ -1539,8 +1539,4 @@
-
-
@@ -1571,4 +1567,12 @@
+
+
+
+
Index: /trunk/ab5.0/abdev/BasicCompiler_Common/BasicCompiler.cpp
===================================================================
--- /trunk/ab5.0/abdev/BasicCompiler_Common/BasicCompiler.cpp (revision 454)
+++ /trunk/ab5.0/abdev/BasicCompiler_Common/BasicCompiler.cpp (revision 455)
@@ -1,3 +1,5 @@
#include "stdafx.h"
+
+#include
#include
@@ -573,7 +575,11 @@
}
-int PASCAL WinMain(HINSTANCE hThisInst,HINSTANCE hPrevInst,LPSTR lpCmdLine,int nShowCmd){
+int main()
+{
int i,i2;
char temporary[1024],temp2[MAX_PATH];
+
+ hInst = GetModuleHandle( NULL );
+ LPSTR lpCmdLine = PathGetArgs( GetCommandLine() );
//_Test();
@@ -588,6 +594,4 @@
ScreenX=GetSystemMetrics(SM_CXSCREEN);
ScreenY=GetSystemMetrics(SM_CYSCREEN);
-
- hInst=hThisInst;
//不揮発性データを取得
@@ -919,4 +923,5 @@
trace("Complete ActiveBasic Compiler!");
+ ExitProcess( 0 );
return 0;
Index: /trunk/ab5.0/abdev/BasicCompiler_Common/Debug.cpp
===================================================================
--- /trunk/ab5.0/abdev/BasicCompiler_Common/Debug.cpp (revision 454)
+++ /trunk/ab5.0/abdev/BasicCompiler_Common/Debug.cpp (revision 455)
@@ -464,9 +464,9 @@
if( !compiler.IsDll() ){
//EXEファイルをデバッグ
- CreateProcess(OutputFileName,szDebugCmdLine,NULL,NULL,0,NORMAL_PRIORITY_CLASS|DEBUG_ONLY_THIS_PROCESS,NULL,NULL,&si,&pi);
+ CreateProcess(OutputFileName,szDebugCmdLine,NULL,NULL,0,NORMAL_PRIORITY_CLASS|DEBUG_ONLY_THIS_PROCESS|CREATE_NEW_CONSOLE,NULL,NULL,&si,&pi);
}
else{
//DLLファイルをデバッグ
- CreateProcess(ExeFilePathForDll,szDebugCmdLine,NULL,NULL,0,NORMAL_PRIORITY_CLASS|DEBUG_ONLY_THIS_PROCESS,NULL,NULL,&si,&pi);
+ CreateProcess(ExeFilePathForDll,szDebugCmdLine,NULL,NULL,0,NORMAL_PRIORITY_CLASS|DEBUG_ONLY_THIS_PROCESS|CREATE_NEW_CONSOLE,NULL,NULL,&si,&pi);
}
Index: /trunk/ab5.0/abdev/BasicCompiler_Common/error.cpp
===================================================================
--- /trunk/ab5.0/abdev/BasicCompiler_Common/error.cpp (revision 454)
+++ /trunk/ab5.0/abdev/BasicCompiler_Common/error.cpp (revision 455)
@@ -1,3 +1,5 @@
#include "stdafx.h"
+
+#include
#include
@@ -377,5 +379,5 @@
SendDlgItemMessage(hMainDlg,IDC_ERRORLIST,EM_REPLACESEL,0,(LPARAM)temp2);
-
+ std::string msg = temp2;
if(num==-2){
//コンパイルメッセージ
@@ -385,20 +387,22 @@
}
else{
+ msg = (num>-100) ? "error - " : "warning - ";
+ msg += temp2;
if(num>-100){
//警告ではなく、エラーの場合はエラーチェックフラグを立てる
extern BOOL bError;
bError=1;
-
- // ログに出力
- trace( "error - " << temp2 );
}
else{
extern int WarningNum;
WarningNum++;
-
- // ログに出力
- trace( "warning - " << temp2 );
- }
- }
+ }
+
+ // ログに出力
+ trace( msg );
+ }
+
+ std::cout << msg << endl;
+
ErrorNum++;
Index: /trunk/ab5.0/abdev/ProjectEditor/DialogBoxes.cpp
===================================================================
--- /trunk/ab5.0/abdev/ProjectEditor/DialogBoxes.cpp (revision 454)
+++ /trunk/ab5.0/abdev/ProjectEditor/DialogBoxes.cpp (revision 455)
@@ -1109,7 +1109,7 @@
//SideWebウィンドウを再表示
- delete pobj_SideWeb;
- pobj_SideWeb=new CSideWeb(hOwner);
- ResizeOwnerWnd();
+ //delete pobj_SideWeb;
+ //pobj_SideWeb=new CSideWeb(hOwner);
+ //ResizeOwnerWnd();
}
return;
Index: /trunk/ab5.0/abdev/ProjectEditor/ProjectEditor.cpp
===================================================================
--- /trunk/ab5.0/abdev/ProjectEditor/ProjectEditor.cpp (revision 454)
+++ /trunk/ab5.0/abdev/ProjectEditor/ProjectEditor.cpp (revision 455)
@@ -86,4 +86,23 @@
#endif
+
+void CreateProcessWithStdHandle( const char *appPath, const char *cmdLine)
+{
+ std::string argsStr = (std::string)"\"" + appPath + "\" " + cmdLine;
+ STARTUPINFO si;
+ PROCESS_INFORMATION pi;
+ memset(&si,0,sizeof(STARTUPINFO));
+ si.cb=sizeof(STARTUPINFO);
+ si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
+ si.wShowWindow = SW_HIDE;
+ si.hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
+ si.hStdInput = GetStdHandle(STD_INPUT_HANDLE);
+ si.hStdError = GetStdHandle(STD_ERROR_HANDLE);
+
+ char args[8192];
+ lstrcpy( args, argsStr.c_str() );
+
+ CreateProcess( NULL, args, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi );
+}
void ToBigChar(char str[]){
@@ -1288,6 +1307,9 @@
int width_SideWeb=0;
- if(pobj_SideWeb->bShow){
- width_SideWeb=pobj_nv->width_WebSearchView+LEVER_THICK;
+ if( pobj_SideWeb )
+ {
+ if(pobj_SideWeb->bShow){
+ width_SideWeb=pobj_nv->width_WebSearchView+LEVER_THICK;
+ }
}
@@ -1323,13 +1345,16 @@
1);
- if(pobj_SideWeb->bShow){
- //SideWeb
- pobj_SideWeb->resize(
- width_owner - pobj_nv->width_WebSearchView,
- height_Rebar,
- pobj_nv->width_WebSearchView,
- height_MdiClient);
- }
- else pobj_SideWeb->resize(0,0,0,0);
+ if( pobj_SideWeb )
+ {
+ if(pobj_SideWeb->bShow){
+ //SideWeb
+ pobj_SideWeb->resize(
+ width_owner - pobj_nv->width_WebSearchView,
+ height_Rebar,
+ pobj_nv->width_WebSearchView,
+ height_MdiClient);
+ }
+ else pobj_SideWeb->resize(0,0,0,0);
+ }
if(width_pjv){
@@ -1459,29 +1484,31 @@
case WM_DRAWITEM:
- DRAWITEMSTRUCT *pdis;
- pdis=(DRAWITEMSTRUCT *)lParam;
-
- if(pdis->CtlType==ODT_MENU){
- if(!pobj_MainMenu) return 0;
-
- CMenuItemData *pobj_MenuItemData;
- pobj_MenuItemData=(CMenuItemData *)pdis->itemData;
- if(pobj_MainMenu->hMenu==pobj_MenuItemData->pobj_ThisMenu->hMenu){
- //メインメニューの親アイテム
- pobj_MainMenu->OwnerDrawMenu(pdis->hDC,
- &pdis->rcItem,
- (pdis->itemState&ODS_SELECTED)!=0,
- pobj_MenuItemData->item_index);
+ {
+ DRAWITEMSTRUCT *pdis = (DRAWITEMSTRUCT *)lParam;
+
+ if(pdis->CtlType==ODT_MENU){
+ if(!pobj_MainMenu) return 0;
+
+ CMenuItemData *pobj_MenuItemData;
+ pobj_MenuItemData=(CMenuItemData *)pdis->itemData;
+ if(pobj_MainMenu->hMenu==pobj_MenuItemData->pobj_ThisMenu->hMenu){
+ //メインメニューの親アイテム
+ pobj_MainMenu->OwnerDrawMenu(pdis->hDC,
+ &pdis->rcItem,
+ (pdis->itemState&ODS_SELECTED)!=0,
+ pobj_MenuItemData->item_index);
+ }
+ else{
+ //メインメニューにぶらさがるサブメニュー
+ pobj_MainMenu->OwnerDrawSubMenu(pobj_MenuItemData->pobj_ThisMenu->hMenu,
+ pdis->hDC,
+ &pdis->rcItem,
+ (pdis->itemState&ODS_SELECTED)!=0,
+ pobj_MenuItemData->item_index);
+ }
}
- else{
- //メインメニューにぶらさがるサブメニュー
- pobj_MainMenu->OwnerDrawSubMenu(pobj_MenuItemData->pobj_ThisMenu->hMenu,
- pdis->hDC,
- &pdis->rcItem,
- (pdis->itemState&ODS_SELECTED)!=0,
- pobj_MenuItemData->item_index);
- }
- }
- return 0;
+
+ return 0;
+ }
case WM_NOTIFY:
@@ -2054,5 +2081,7 @@
sprintf(str,"%s%s",pj_editor_Dir,lpszCompilerName);
- ShellExecute(hwnd,"open",str,temporary,NULL,SW_SHOWNORMAL);
+
+ CreateProcessWithStdHandle( str, temporary );
+
return 0;
case IDM_DEBUGCOMPILE:
@@ -2104,5 +2133,6 @@
sprintf(str,"%s%s",pj_editor_Dir,lpszCompilerName);
- ShellExecute(hwnd,"open",str,temporary,NULL,SW_SHOWNORMAL);
+
+ CreateProcessWithStdHandle( str, temporary );
return 0;
@@ -2140,5 +2170,6 @@
sprintf(str,"%s%s",pj_editor_Dir,WIN64_COMPILER_NAME);
- ShellExecute(hwnd,"open",str,temporary,NULL,SW_SHOWNORMAL);
+ CreateProcessWithStdHandle( str, temporary );
+
return 0;
case IDM_RELEASECOMPILE:
@@ -2190,5 +2221,7 @@
sprintf(str,"%s%s",pj_editor_Dir,lpszCompilerName);
- ShellExecute(hwnd,"open",str,temporary,NULL,SW_SHOWNORMAL);
+
+ CreateProcessWithStdHandle( str, temporary );
+
return 0;
case IDM_RELEASERUN:
@@ -2721,11 +2754,14 @@
}
#endif
- if(pobj_SideWeb->bShow){
- //SideWebとMDIクライアントの境目のサイズ変更ライン
- pobj_SideWeb->GetRect(&rect);
- ClientToScreen(hwnd,&rect);
- if(rect.top<=pos.y&&pos.y<=rect.bottom&&
- rect.left-LEVER_THICK<=pos.x&&pos.x<=rect.left){
- SetCursor(LoadCursor(0,IDC_SIZEWE));
+ if( pobj_SideWeb )
+ {
+ if(pobj_SideWeb->bShow){
+ //SideWebとMDIクライアントの境目のサイズ変更ライン
+ pobj_SideWeb->GetRect(&rect);
+ ClientToScreen(hwnd,&rect);
+ if(rect.top<=pos.y&&pos.y<=rect.bottom&&
+ rect.left-LEVER_THICK<=pos.x&&pos.x<=rect.left){
+ SetCursor(LoadCursor(0,IDC_SIZEWE));
+ }
}
}
Index: /trunk/ab5.0/abdev/ProjectEditor/ProjectEditor.vcproj
===================================================================
--- /trunk/ab5.0/abdev/ProjectEditor/ProjectEditor.vcproj (revision 454)
+++ /trunk/ab5.0/abdev/ProjectEditor/ProjectEditor.vcproj (revision 455)
@@ -143,5 +143,5 @@
Name="VCCLCompilerTool"
Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;JPN;THETEXT;SHAREWARE"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;JPN;THETEXT;SHAREWARE;WINVER=0x0501;_WIN32_WINNT=0x0501"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -241,5 +241,5 @@
Optimization="2"
InlineFunctionExpansion="1"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;JPN;THETEXT"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;JPN;THETEXT;WINVER=0x0501;_WIN32_WINNT=0x0501"
StringPooling="true"
RuntimeLibrary="0"
@@ -336,5 +336,5 @@
Name="VCCLCompilerTool"
Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;JPN"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;JPN;WINVER=0x0501;_WIN32_WINNT=0x0501"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -434,5 +434,5 @@
Optimization="2"
InlineFunctionExpansion="1"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;JPN;THETEXT;SHAREWARE"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;JPN;THETEXT;SHAREWARE;WINVER=0x0501;_WIN32_WINNT=0x0501"
StringPooling="true"
RuntimeLibrary="0"
@@ -530,5 +530,5 @@
Optimization="2"
InlineFunctionExpansion="1"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;JPN"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;JPN;WINVER=0x0501;_WIN32_WINNT=0x0501"
StringPooling="true"
RuntimeLibrary="0"
@@ -555,5 +555,5 @@
= 0x0600
+ sizeof_NONCLIENTMETRICS -= sizeof(int);
+#endif
+ NCMetrics.cbSize = sizeof_NONCLIENTMETRICS;
+ SystemParametersInfo( SPI_GETNONCLIENTMETRICS, sizeof_NONCLIENTMETRICS, &NCMetrics, 0 );
hMenuFont=CreateFontIndirect(&NCMetrics.lfMenuFont);
@@ -1463,5 +1468,5 @@
//SideWebを生成
- pobj_SideWeb=new CSideWeb(hwnd);
+ //pobj_SideWeb=new CSideWeb(hwnd);
}
Index: /trunk/ab5.0/abdev/ProjectEditor/menu.cpp
===================================================================
--- /trunk/ab5.0/abdev/ProjectEditor/menu.cpp (revision 454)
+++ /trunk/ab5.0/abdev/ProjectEditor/menu.cpp (revision 455)
@@ -172,4 +172,5 @@
char temporary[MAX_PATH];
MENUITEMINFO mii;
+ memset(&mii,0,sizeof(MENUITEMINFO));
mii.cbSize=sizeof(MENUITEMINFO);
mii.fMask=MIIM_TYPE|MIIM_ID|MIIM_SUBMENU|MIIM_DATA;