問題タブ [c++builder-xe3]
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++builder - C++ Builder XE3 でフォームを動的に呼び出す方法は?
DB を使用してメニューにデータを入力するアプリケーションを構築しています。メニュー項目を作成できますが、「クリック時」イベントを特定のフォームにリンクするのに問題があります。フォーム クラスの名前を DB に保存し、RTTI を使用して実行時にそれらをバインドしようとしています。以下は、実行しようとしているコードのスニペットです。
次のコードを実行してフォームを呼び出そうとすると、「アクセス違反」エラーが発生します。
c++ - アプリケーション マニフェストの構成 C++ Builder XE3
レジストリにアクセスする必要があるため、.manifest ファイルを使用してアプリケーションに管理者権限を追加しました。それは今私の.exeにあります。それを行う前に、アプリケーションで素敵なランタイム テーマが有効になっていました。そのテーマは私を悩ませているものです。古いバージョンの Windows のようです。完全に時代遅れ。私が使用した.manifestファイルが原因であることはわかっていますが、.manifestファイル内で何を追加/変更/削除してWindowsテーマを有効にし、管理者権限を保持するかわかりません。私は何をすべきか?
これは私の .manifest ファイルの中にあります:
delphi - どの .OBJ ファイルがどの VCL ライブラリにリンクされているか
Embarcadero RAD Studio XE3 (Use Runtime Packages をオフにして) で C++ プロジェクトをリンクすると、次の形式のエラーが発生することがあります。
[ilink32 Error] Fatal: Unable to open file 'FOO.OBJ'
何が原因なのか理解しています。これは#pragma link
、リンカが unit を必要とする原因となる暗黙的な参照がコードに (通常は a を介して) あるためですFOO
。
VCL ソースを見ると、通常はFOO.PAS
にコンパイルされる が見つかりますFOO.DCU
。これは、リンカが探しているが見つからないコンパイル済みユニットです。
このコンパイル済みユニットが VCL ライブラリの 1 つにあることは知っていますが、どのライブラリを見つけるかはわかりません。たとえば、VCL.LIB、RTL.LIB、BCBIE.LIB (など) にはどのユニットが含まれていますか?
ユニット名が与えられた場合、それが含まれている VCL ライブラリを知りたいです。それがわかっている場合は、適切な .lib ファイルをLinkPackageStatics
cbproj ファイルのタグに追加するだけで、すべてが正常にリンクされます。
そのユニットのドキュメントに表示されていればいいのですが、そこにはありません。現在、試行錯誤して適切なライブラリを見つける必要がありますが、どの VCL ユニットがどの VCL ライブラリにリンクされるかを示す公開リストがどこかにあることは確かです。
そのようなリストはどこにありますか?
(ちなみに、IDE の通常の使用法では、開発者はこれを知る必要がないことを知っています。通常、これは IDE が処理します。しかし、.cbproj が間違ってマージされた場合に、この情報が必要になることがあります。または手動で誤って編集したり、IDE の通常の使用を超えた他の多くの理由で編集したりします)。
編集:ありがとう!tlib はまさに私が必要としていたものでした。私はシェル スクリプトがかなり苦手ですが、含まれている各ユニットの名前の横にライブラリの名前を出力する小さなシェル スクリプトを作成しました。
次に、関心のあるすべての .lib でスクリプトを実行し、探しているユニット (SysUtils など) を grep してスクリプトを呼び出すことができます。
ide - C++ Builder が「実行」後にアプリケーションを実行しない
C++ Builder XE6 で奇妙な問題が発生しました。実は、XE3版からでもこの問題に気づきました。[実行] をクリックすると、アプリケーションはコンパイルされますが、砂時計が表示され、しばらく待機しても何も起こりません。アプリケーションが実行されません。「実行」をもう一度押すと、「Project1.exe がクラッシュしました」などの情報が表示されます...
私にとって唯一の解決策は、project/clean を使用してから、もう一度「実行」することです。それから作品です。しかし、それでも、それは時間の無駄です。これが何であるか、そしてそれを修正する方法を知っている人はいますか?
c++ - FireDAC を使用して C++ XE3 から XE7 に移行するにはどうすればよいですか?
C++ Bulder XE3 で作成したアプリがあり、XE7 にアップグレードしたいと考えています。しかし、私は PostgreSQL との接続に FireDAC を使用します。XE3 では接続は ADConnection と呼ばれ、ADQuery をクエリし、XE7 では FDConnection と FDQuery を呼び出します。すべてを書き直すことなく、そうする簡単な方法を見つける必要があります。御時間ありがとうございます。
c++ - C++Builder で 2 つのフォームを実行する方法
情報を共有できることを嬉しく思います。
すみません、2 つの FORMS を同時に実行する方法を知っている人はいますか?
つまり、FORM1 の 1 つのボタンをクリックして FOR を実行し、FOR の値を FORM2 の LABEL に設定します。
FORM1 のいくつかのコード:
私はこれを見たいだけです:
if.... Form1->Label1->Caption
= 1 の場合も 1 でなければForm2->Label1->Caption
なりません。FORM2 は、最後の結果である 10,000 だけを表示します。
助けていただければ幸いです。ありがとうございました !