ホーム » 2024 » 10月 » 28

日別アーカイブ: 2024/10/28

2024年10月
 12345
6789101112
13141516171819
20212223242526
2728293031  

カテゴリー

アーカイブ

ブログ統計情報

  • 99,450 アクセス


VC6 プロジェクトのコードの移行

以前,VC 6 プロジェクトを移行する時の,設定などについて書いた.
VC6 から 2005 , 2008
VC6 から 2010 – 2019
VC6 から 2022
Win11 24H2  VC 6
今回は C++ コードの変更などのまとめ.


アプリケーションクラス InitInstance の次の呼出しを削除
 #ifdef _AFXDLL
  Enable3dControls();
 #else
  Enable3dControlsStatic();
 #endif


文字や文字列を _T() で括る
‘A’ –> _T(‘A’)
"abc" –> _T("abc")


_MBCS では問題ないコードが _UNICODE で,CString 変数のポインタが値として解釈されることがある.
その場合は LPCTSTR() で括れば良い.
str –> LPCTSTR(str)
C スタイルの文字列に関連する CString の操作方法
CString⇒LPTSTR変換


文字列操作関数の _UNICODE 対応と _s 対応.
_t で始まる関数に置き換え.また gcc などでも通る様に _tdefine.hxx を用意.
_MSC_VER により,_s 版と以前のものを切替える関数群を用意


int を INT_PTR などに(x64 対応).
CArray::GetSize など,MFC の色々な所で int が INT_PTR に変更された.
int size = array.GetSize() ; –> INT_PTR size = array.GetSize() ;
ダイアログベースの時も同様に.


* まだ作成途中です.


Microsoft C/C++ 2003 – 2015 の変更履歴
Visual C++ 移植およびアップグレード ガイド

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