ホーム » Iwao の投稿 (ページ 59)

作者アーカイブ: Iwao

2025年5月
 123
45678910
11121314151617
18192021222324
25262728293031

カテゴリー

アーカイブ

ブログ統計情報

  • 114,204 アクセス


DDX/DDV の順番を…

順番をいじってしまうと,入力中の最大チェックが働かなかったり,値の修正ができない様になってしまう.

 DDX_Text     (pDX, IDC_TEXT_1 , m_Text1);
 DDV_MaxChars (pDX,    m_TEXT1 , 25);
 DDX_Text     (pDX, IDC_TEXT_2 , m_Text2);
 DDV_MaxChars (pDX,    m_TEXT2 , 25);
Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

x86 プロジェクトの x64 へのコピー

VC 6 以前から使用しているプロジェクトを,64 ビット用にコピーしてビルドすると以下のエラーになることがある.

1>—— ビルド開始: プロジェクト: Project, 構成: Release x64 ——
1>.x64_R10ProjectA.obj : fatal error LNK1112: モジュールのコンピューターの種類 ‘x64’ は対象コンピューターの種類 ‘X86’ と競合しています。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

「プロジェクトのプロパティページ」の「構成プロパティ」-「リンカ」-「コマンドライン」の「追加オプション」にある "/MACHINE:I386" を削除する.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

MFC ファイルハンドラの登録で MSB3075

ビルド時に以下のエラーとなる.


—— ビルド開始: プロジェクト: ???Handlers, 構成: Debug Win32 ——
???Handlers.vcxproj -> C:\Users\???\Documents\Visual Studio 2010\Projects\???\Debug\???Handlers.dll
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(732,5): warning MSB3075: コマンド “regsvr32 /s “C:\Users\???\Documents\Visual Studio 2010\Projects\???\Debug\???Handlers.dll”” はコード 5 で終了しました。このコマンドを実行するための十分な権限があるか確認してください。
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(744,5): error MSB8011: 出力の登録に失敗しました。ユーザーごとのリダイレクトを有効にするか、引き上げられたアクセス許可を使用して、コマンド プロンプトからコンポーネントを登録してください。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========


VS 2010 を「管理者として実行」して起動する.
または,「管理者として実行」した「コマンドプロンプト」での「RegSvr32」.
 
通常の「コマンドプロンプト」では以下のエラーとなる.
[Window Title]
RegSvr32
[Content]
モジュール “C:\Users\???\Documents\Visual Studio 2010\Projects\???\Debug\???Handlers.dll” は読み込まれましたが、DllRegisterServer への呼び出しはエラー コード 0x80070005 により失敗しました。
この問題の詳細については、エラー コードを検索語として入力してオンラインで検索してください。
run as administrator

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

レジストリ キーのオープンエラー

レジストリエディタで削除できないキーができてしまった.
レジストリエディタ 削除できないキー
[Window Title]
キーのオープン エラー
[Content]
・・・・….・・・・・・・・・&#29;笶,cF &#30;潺&#21;&#3;&#24;ィ&#22;&#3;$<1S を開けません。
エラーによりこのキーを開けません。
詳細: 指定されたファイルが見つかりません。
[OK]


原因は,AfxGetApp()->m_pszProfileName をいじっていた関係で,
OpenMP を利用した時のバグでごみが設定された.


対応には,RegDelNull.exe を利用.
http://technet.microsoft.com/ja-jp/sysinternals/default.aspx
http://technet.microsoft.com/ja-jp/sysinternals/bb545027.aspx
http://technet.microsoft.com/ja-jp/sysinternals/bb897448(en-us).aspx
https://docs.microsoft.com/ja-jp/sysinternals/downloads/regdelnull


RegDelNull の使い方
削除したいキー名は "HKEY_CURRENT_USER\Software\???\???\_"
環境は,Windows 7

  1. コマンドプロンプトを管理者として実行
  2. C:\Windows\system32> C:\Users\…\Regdelnull\RegDelNull.exe hkcu\Software\???\???\_
  3. 削除するか聞いてくるので,必要に応じて y

RegDelNull の使い方


2021/11
レジストリエディタ 削除中にエラーが発生しました

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Microsoft Touch Pack

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Release 版でのデバッグ

VC 10 で、Release 版構成にデバッグ情報を付加する.

  1. 「ビルド」-「構成マネージャー」で,「新しいプロジェクト構成」を作成.
    「設定のコピー元」を「Release」に
  2. 「プロジェクト」-「プロパティ」で,「リンカ」-「デバッグ」-「デバッグ情報の生成」を「はい」に.
Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

OpenMP AfxGetMainWnd

ワーカースレッドからの AfxGetMainWnd の呼出しでは,NULL になる?
メインスレッドは正しく取得できる.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

VC 2010 クラスウィザード

メニューの「プロジェクト」-「クラスウィザード」
Ctrl」+「Shift」+「X

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

MFC 10 再起動マネージャ

再起動マネージャのサポートの追加
http://msdn.microsoft.com/ja-jp/library/dd465232(v=VS.100).aspx

CXxxxApp::CXxxxApp()
{
#if (_MFC_VER >= 0x0A00)
     m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS ;
#endif
}

AppCore.cpp  CWinApp::CWinApp(LPCTSTR lpszAppName)
m_nAutosaveInterval = 5 * 60 * 1000; // default autosave interval is 5 minutes (only has effect if autosave flag is set)


2021/11
https://mish.myds.me/wordpress/dev/2021/11/19/restart-manager/

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

VC++ 2010 VCReDist_??.exe

VC++ 2010 の VCReDist の場所
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\vcredist_x86
または,
VCReDist_x86
VCReDist_x64

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

X02T メモ

留守電解除の設定
「スタート」-「設定」-「個人」-「電話」-「サービス」タブ-「転送電話」内

Wi-Fi 接続中の SoftBank メールの送受信など
一時的に止めないと,Wi-Fiが優先される

設定などで,自動的に起動(Power ON)させることは可能か?
その様な機能はない

SoftBank メールの,「メール振り分け設定」
ドメイン指定は不可
10 件まで

SoftBank メールの「未読」が常に1つ存在する
現状の対応方法としては,ハードリセットが必要 
HKEY_LOCAL_MACHINESoftwareArcsoftArcSoft MMS UAConfigUI の MMSUnreadCount を 0 に
TRE Ver.0.82 を利用(0.90 はインストールできなかった)

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

CCriticalSection と CMutex

それぞれ,500,000 回呼出した時間 (m sec) 

      P4       VirtualPC     Xeon    
CCriticalSection 734 160 94
*1 78 20 15
CMutex 8200 710 1140
*1 950 250 437
Profile          INI 2900 950 920
Reg 2100 570 740

  ElapseTick et_cs ;
  {
     CCriticalSection cs ;
     for (int index=0 ; index<500000 ; index++) {
     //CCriticalSection cs ;
        cs.Lock() ;
        cs.Unlock() ;
        }
     }
  DWORD e_cs = et_cs.GetElapse() ;

  ElapseTick et_me ;
  {
     CMutex mt ;
     for (int index=0 ; index<500000 ; index++) {
       mt.Lock() ;
       mt.Unlock() ;
       }
     }

  DWORD e_me = et_me.GetElapse() ;

  ElapseTick et_pr ;
  {
     Profile profile ;
     for (int index=0 ; index<500000 ; index++) {
       int data = profile.GetInt(_T("Test"),_T("Test"),100) ;
       }
     }
  DWORD e_pr = et_pr.GetElapse() ;

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

OpenMP エラー 1002

—————————
致命的なユーザー エラー 1002:
—————————
同一名の 1 つで ‘#pragma omp critical’ が不適切に入れ子にされています
致命的なユーザー エラー 1002: 同一名の 1 つで ‘#pragma omp critical’ が不適切に入れ子にされています
2.9 ディレクティブの入れ子
局所的になる様に,呼び出し元での “#pragma omp critical” を削除.

class Profile {
  ...
protected:
  LPCTSTR  LastProfileName ;
  CString  C_T_ProfileName ;
  ...
  } ;

BOOL Profile::SaveProfileName(void)
{
  CWinApp* app = AfxGetApp() ;
  if (app== NULL) { return FALSE ; }
  LastProfileName = AfxGetApp()->m_pszProfileName ;
  AfxGetApp()->m_pszProfileName = C_T_ProfileName ;
  return TRUE ;
  }
BOOL Profile::LoadProfileName(void)
{
  AfxGetApp()->m_pszProfileName = LastProfileName ;
  return TRUE ;
  }

omp critical ではなく,MFC 同期クラスを使用する様に変更.

//  以下は,テスト用のコード
BOOL Profile::?et??? (LPCTSTR lpszSection,LPCTSTR lpszEntry,...)
{
  ...
  CMutex m(FALSE,MN_LPN) ;
  m.Lock() ;
// return    ???Profile??? (lpszSection, lpszEntry, ...) ;
  BOOL ret = ???Profile??? (lpszSection, lpszEntry, ...) ;
  m.Unlock() ;
  return ret ;
  }
//  MFC 同期クラスの呼出しはコストがかからない様に修正する
Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

OpenMP プロジェクトの設定

VC8 以降 プロジェクトのプロパティページ
「構成プロパティ」-「C/C++」-「言語」-「OpenMP サポート」を「はい」に設定.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

MFC Static → DLL

MFC を「スタティック ライブラリ」から「共有 DLL」に変更した時,以下のエラーになることがある.
—— ビルド開始: プロジェクト: Project , 構成: Release Win32 ——
コンパイルしています…
StdAfx.cpp
C:Program FilesMicrosoft Visual Studio 8VCatlmfcincludeafx.h(24) : fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
Project – エラー 1、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========
*.vcproj をエディタで開き,"$(NoInherit)" を削除


2010/04/21 追記
—— ビルド開始: プロジェクト: Project , 構成: Release Win32 ——
StdAfx.cpp
C:Program Files (x86)Microsoft Visual Studio 10.0VCatlmfcincludeafxver_.h(81): fatal error C1189: #error : Please use the /MD switch for _AFXDLL builds
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
プロジェクトの「プロパティ」-「構成プロパティ」-「C/C++」-「コード生成」-「ランタイムライブラリ」
マルチスレッド (/MT) → マルチスレッド DLL (/MD)


2021/06
https://dev.mish.work/wordpress/2021/01/23/vc-12-lnk1104-vc14-2-lnk2019/
https://dev.mish.work/wordpress/2021/04/01/change-mfc-static-error/

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

FileVer.* を使用した CAboutDlg

CAboutDlg を表示する時に IDC_STATIC による固定的な情報を使用するのではなく,バージョンリソースを使用する

  1. IDD_ABOUTBOX の IDC_STATIC を IDC_FV_DESCRIPTION_VERSION と IDC_FV_LEGAL_COPYRIGHT に変更.
  2. IDC_FV_XXX で始まる使用できるものは,FileVer.cxx を参照.個別の12個と組合せの1個を用意 . 
  3. CAboutDlg::OnInitDialog() で,SetAboutFileVer(this) を呼び出す. 
  4. リンク時に Version.lib がなければ追加.

http://cid-535f5973454c1292.skydrive.live.com/embedicon.aspx/.Public/MFC/FileVer.zip
FileVer.zip


2022/07/28
::GetFileVersionInfo
FVersion.hxx


2024/07/29
VC 6 プロジェクトを公開

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Windows バージョンのデスクトップ表示

Windows のバージョンをデスクトップに表示する reg ファイル
http://cid-535f5973454c1292.skydrive.live.com/embedicon.aspx/.Public/RegFiles/PaintDesktopVersion.zip
PaintDesktopVersion.zip
HKEY_CURRENT_USER\Control Panel\Desktop
  PaintDesktopVersion
Win10 1903 バージョン表示


2020/10
https://jml.mish.work/i-tools/setcolt.html
Win10 用 タイトルバーの色設定

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

IE の Skype アドオン機能の無効化

IE での Web ページ内の電話番号付近の表示をなくす設定
Skype add-on の設定を開く.
Skype add-on の設定を開く
その中の,「番号をハイライト表示する」のチェックを外す.
「番号をハイライト表示する」のチェックを外す
特に利用しない場合は,アンインストールしても良い.


2013/12/09 追記
今の環境(Win 7 , IE 10)では,
メニューの「ツール」-「アドオンの管理」などから
 IE 10 メニューの「ツール」-「アドオンの管理」
「Skype add-on for Internet Explorer」を選択して,「無効にする」
「Skype add-on for Internet Explorer」を選択して「無効にする」
IE を再起動.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Outlook で配信不能 配布先リスト

「配布先リスト」の「名前」の所にメールアドレスでなく「連絡先」の「表示名」のみの場合?に配信不能になる.
修正後,「配信不能」にならなかったことは確認済み.
詳細は未確認.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

IIS 他の PC から接続できない

以下を設定済み.
Windows ファイアウォールを設定したまま、IIS のサービス提供を有効にする方法
  http://support.microsoft.com/kb/883877/ja
  http://support.microsoft.com/ja-jp/help/883877
この状態で,他の PC から接続できない状態になっていた(前は接続できてたはず).
 1. 一度,「詳細設定」-「サービス」タブの「Web サーバ(HTTP)」のチェックを外す.
 2. 「Windows ファイアウォール」のダイアログを閉じる.
 3. 再度開いて「「Web サーバ(HTTP)」のチェックを付ける.
再設定して他から接続できる様になった.


2016/04/19 追記 上は,Win XP 相当の内容です.


2015/02 IIS 環境の再設定
2020/11 Win10 他の PC が表示されない

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.