新石器Wiki

近年はシリコン(石)から進化した便利なもので溢れる時代。そんな気になった事や試した事など記す。

ユーザ用ツール

サイト用ツール


devtool:ide:cpp_builder-rad_studio:cpp_builder-use-old-version


差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
devtool:ide:cpp_builder-rad_studio:cpp_builder-use-old-version [2020/01/28 16:46] – [参考記事] yokodevtool:ide:cpp_builder-rad_studio:cpp_builder-use-old-version [2026/07/28 13:16] (現在) – 外部編集 127.0.0.1
行 1: 行 1:
-C++ Buildre旧バージョンのプロジェクトを利用 +====== C++Buildre旧バージョンのプロジェクトを利用 ====== 
-======================================== +私は、C++Builder 5 を持っている。そのプロジェクトを C++Builder Community Edition に移行したので、その留意点などについて残す。
-私は、C++ Builder 5 を持っている。そのプロジェクトを C++Builder Community Edition に移行したので、その留意点などについて残す。+
  
 「[[https://community.idera.com/developer-tools/b/blog/posts/cpp-oldproject-on-recent-cppbuilder-ja|最新のC++Buidlerで旧バージョンのプロジェクトを利用する方法]]」記載の手順で、自動コンバートは出来ないので新規プロジェクトを作成し、ソースをコピーして`*.cpp`をプロジェクトに追加していく。一部、ソース修正が必要。 「[[https://community.idera.com/developer-tools/b/blog/posts/cpp-oldproject-on-recent-cppbuilder-ja|最新のC++Buidlerで旧バージョンのプロジェクトを利用する方法]]」記載の手順で、自動コンバートは出来ないので新規プロジェクトを作成し、ソースをコピーして`*.cpp`をプロジェクトに追加していく。一部、ソース修正が必要。
  
-1. C++Builder Community EditionでC++プロジェクトを新規に作成し、プロジェクトを保存する。 +  - C++Builder Community EditionでC++プロジェクトを新規に作成し、プロジェクトを保存する。 
-2. プロジェクトにデフォルトで作成されるユニットを削除する +  プロジェクトにデフォルトで作成されるユニットを削除する 
-3. 旧プロジェクトのユニットを新しいプロジェクトに追加する(`*.cpp`,`*.h`,`*.dfm`) +  旧プロジェクトのユニットを新しいプロジェクトに追加する(`*.cpp`,`*.h`,`*.dfm`) 
-4. プロジェクトのメインモジュール(プロジェクト名.cppやプロジェクト名PCH.h)に旧プロジェクトのコードをコピーする+  プロジェクトのメインモジュール(プロジェクト名.cppやプロジェクト名PCH.h)に旧プロジェクトのコードをコピーする
  
-ソースの修正が必要だった点 +===== ソースの修正が必要だった点 ===== 
------------------------- +Windows環境ではファイル名の大文字小文字は区別されないが、`#include`ファイル名と実際のファイル名が合致していないと警告が出るので、ファイル名の大文字小文字を合わす。あと、ソースに漢字を含んでいる場合は、全て「UTF-8」文字コードBOM付に変更(Wzエディターで変換し上書き保存)
-Windows環境ではファイル名の大文字小文字は区別されないが、`#include`ファイル名と実際のファイル名が合致していないと警告が出るので、ファイル名の大文字小文字を合わす。あと、ソースに漢字を含んでいる場合は、全て「UTF-8」文字コードに変更(Wzエディターで変換し上書き保存)+
  
 ### ヘッダファイルが見つからない ### ヘッダファイルが見つからない
行 18: 行 16:
  
 ### 文字列の扱いの違い ### 文字列の扱いの違い
-従来の文字列はバイト単位のchar型だったが、漢字などの[[wpjp>マルチバイト文字]]を扱う[[wpjp>ワイド文字]]型に変更になっている。その関係で以下のようなエラーが発生したりする。+RAD Studio 2009 バージョン以降で、[[programing/cpp_builder/cpp_builder-unicode|C++BuilderはUnicode対応]]となり内部の文字列の扱いが変更になっている。従来の文字列はバイト単位のchar型だったが、漢字などの[[wpjp>マルチバイト文字]]を扱う[[wpjp>ワイド文字]]型に変更になっている。その関係で以下のようなエラーが発生したりする。
  
 ``` ```
行 32: 行 30:
 MessageBox(NULL, L"バッファーのアンロックに失敗", L"Error", MB_OK); MessageBox(NULL, L"バッファーのアンロックに失敗", L"Error", MB_OK);
 </code> </code>
- 
-【参考】 
- 
-  * [[https://www.gesource.jp/weblog/?p=543|C++Builder2009におけるStringの変更による既存コードの修正]] 
-  * [[http://slapper.sblo.jp/article/62581507.html|C++Builder 文字列変換]] 
-  * [[https://stackoverflow.com/questions/26073814/cannot-convert-const-char-to-wchar-in-argument-passing|Cannot convert 'const char*' to 'WCHAR*' in argument passing]] 
  
 ### 従来のBCC32でコンパイル ### 従来のBCC32でコンパイル
行 79: 行 71:
  
  
-参考記事 +===== 参考記事 ===== 
--------+ 
 +  - [[http://seclan.dll.jp/dtdiary/2010/dt20100306.htm|bcc32 と msc(cl) のコマンドラインコンパイラの UNICODE 対応化オプション]] 
 +  - [[http://docwiki.embarcadero.com/RADStudio/Rio/ja/%E5%AE%9A%E7%BE%A9%E6%B8%88%E3%81%BF%E3%83%9E%E3%82%AF%E3%83%AD|定義済みマクロ]] 
 +  - [[http://docwiki.embarcadero.com/RADStudio/Rio/ja/%E9%9D%99%E7%9A%84%E3%83%A9%E3%83%B3%E3%82%BF%E3%82%A4%E3%83%A0_%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA|静的ランタイムライブラリ]] 
 +  - [[https://www.embarcadero.com/jp/migration-and-upgrade-resources-for-delphi-c-builder-and-rad-studio|旧バージョンからの移行]]
  
-1. [[http://seclan.dll.jp/dtdiary/2010/dt20100306.htm|bcc32 と msc(cl) のコマンドラインコンパイラの UNICODE 対応化オプション]] 
-2. [[http://docwiki.embarcadero.com/RADStudio/Rio/ja/%E5%AE%9A%E7%BE%A9%E6%B8%88%E3%81%BF%E3%83%9E%E3%82%AF%E3%83%AD|定義済みマクロ]] 
-3. [[http://docwiki.embarcadero.com/RADStudio/Rio/ja/%E9%9D%99%E7%9A%84%E3%83%A9%E3%83%B3%E3%82%BF%E3%82%A4%E3%83%A0_%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA|静的ランタイムライブラリ]] 
-4. [[https://www.embarcadero.com/jp/migration-and-upgrade-resources-for-delphi-c-builder-and-rad-studio|旧バージョンからの移行]] 
devtool/ide/cpp_builder-rad_studio/cpp_builder-use-old-version.1580197608.txt.gz · 最終更新: by yoko