問題タブ [c++builder-xe8]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Embarcadero C++Builder: 推移的なプロジェクトの依存関係とインクルード?
そのようなプロジェクトの依存関係があるとしましょう:
- SerialPortDemo (EXE) --> SerialPort (DLL) -> ByteIo (DLL)。
- XYZ-App (EXE) -> XYZ-Lib (DLL) -> ByteIo (DLL)
各 DLL プロジェクトには、2 つのフォルダーinclude
とsrc
. 非パブリック ヘッダーとともにinclude
、パブリック インターフェイス ヘッダーと実装が含まれます。src/
PUBLIC、PRIVATE、および INTERFACE キーワードを使用した CMake のtarget_include_directoriesに慣れているので、ByteIo プロジェクトを使用するために、消費者がインクルード ディレクトリの独自のリストに追加する必要があるかどうか、およびどのディレクトリを追加する必要があるかを ByteIo プロジェクトに伝えたいと思います。同じことがリンクされたライブラリにも当てはまります - 繰り返しますが、CMakeのtarget_link_librariesと同じです。
現在、ByteIo のヘッダーに応じて、ByteIo のインクルード ディレクトリをすべてのプロジェクトに直接または間接的に手動で追加する必要があります。たとえば、SerialPort.dll プロジェクトのクラス SerialPort は、ByteIo.ddl プロジェクトで定義された ByteIo をサブクラス化するため、プロジェクト SerialPortDemo.exe は、ByteIo と SerialPort の両方のプロジェクトの (パブリック) インクルード パスを追加する必要があります。上記の小さな例 (SerialPortDemo、SerialPort、XYZ-App、および XYZ-Lib) でさえ、これは膨大な時間の無駄であり、非常にエラーが発生しやすいものです。
動作しません:
- オプション セット: DLL プロジェクトのコンシューマー プロジェクトの場所に応じて相対インクルード パスを変更する必要があるため、使用するには制限が多すぎます。これまでに思いついた唯一の回避策は、オプション セットのインクルード パス リストにフル パスを追加することです。これは受け入れられません。
- 環境変数: 非常に特定の場所でプロジェクトをチェックアウトすることを余儀なくされたり、同じマシンでプロジェクトを複数回チェックアウトする可能性を否定したりするため、受け入れられる解決策ではありません。
Embarcadero C++Builder XE8 は、この問題に対して健全で保守可能なソリューションを提供しますか?
vcl - VCL.LIB を参照する未解決の外部 SHCreateItemFromParsingName / C++Builder XE8 のダイアログ
C++Builder6 のアプリケーションがあり、Windows7 で C++Builder2007 経由で C++BuilderXE8 に移行しています。C++Builder2007 でコンパイルに成功しました。しかし、C++BuilderXE8 でエラーが発生しました。
[ILINK32 エラー] エラー: C:\PROGRAM FILES\EMBARCADERO\STUDIO\16.0\LIB\WIN32\RELEASE\VCL.LIB|Vcl.Dialogs から参照された未解決の外部 'SHCreateItemFromParsingName'
何か案は?
c++ - メモにアイテムの値を表示する
C++ ビルダー XE8
Num 1 メモを選択するとTestが表示されます
他のアイテムを選択すると、メモにElse Testが表示されます
c++ - C++ Builder の Do Begin ステートメントを使用
Delphi のようなWith Do Beginステートメントを使用して、C++ Builder で次のコードを記述する方法を知りたいです。
試しwith ComboBox->Text .... do ... try
てみましたが、うまくいきません。私も試してみましたが、うまくいきdo ComboBox->Text .... try
ませんでした。
indy - TIdHTTP 10.6.2 エラー: ソケット エラー #11001 & #10051
私は本当にあなたの助けが必要です。
C++ Builder XE8 で Indy 10.6.2.5263 (XE8 Update 1 に付属) の TIdHTTP を使用して、小さなダウンロード マネージャー アプリケーションを構築しようとしています。
Socket Error #11001 - Host not found
しかし、ターゲットのダウンロード アドレスが の場合、常にエラーが発生しますhttp://www.rarlab.com/rar/wrar53b1.exe
。また、Socket Error #10051 - Network is unreachable
ダウンロードアドレスが に変更された場合http://5.135.104.98/rar/wrar53b1.exe
。
インストールされている他のすべてのアプリケーション (Firefox、YM、 IDMなど) は通常インターネットに接続されているため、常にこれらのエラーが発生する理由がわかりませんでした。
次の簡単なコードを使用しています。
UNIT1.CPP