問題タブ [c++builder-10-seattle]

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.

0 投票する
2 に答える
534 参照

c++ - TStyledPresentationProxy の子孫がクラスに登録されていません

から継承するカスタム グリッド コントロールがありTGridますTFmGrid。このコントロールは、Rad Studio 10 Seattle Update One で正常に機能していました。TFmGrid最近 10.1 Berlin にアップグレードしたところ、アプリケーションの実行時とデザイナーの両方で次のエラー メッセージがコントロールに表示されることに気付き始めました。

TStyledPresentationProxy の子孫がクラス TFmGrid に登録されていません。FMX.Grid.Style モジュールを uses セクションに追加する必要があるかもしれません。

以下の画像は、グリッド コントロールにエラー メッセージがどのように表示されるかを示しています。

ここに画像の説明を入力

メッセージが示すように、コントロール #include <FMX.Grid.Style.hpp>のヘッダー ファイルに追加することから始めましたが、これは何もしていないようです。TFmGrid

したがって、 の子孫を登録しようとする限り、TStyledPresentationProxyどこから始めればよいか正確にはわかりません。メソッドに関するこのドキュメントを見つけました:

指定された名前、または指定されたコントロール クラスとコントロール タイプの組み合わせで、プレゼンテーション プロキシ クラスの登録を試みます。

したがって、このメソッドまたは少なくとも同様のものを使用する必要があると思いますが、このメソッドを呼び出す方法がわかりません。

しかし、それでは、このコードをどこで呼び出すべきかという問題が生じます。

カスタム コントロールの名前空間Register()には、コントロールの作成時に IDE によって自動生成されたと思われるメソッドがあります。

の子孫を登録するには、そこに何かを呼び出す必要がありTStyledPresentationProxyますか? これについての適切な方法は何ですか?

0 投票する
0 に答える
36 参照

android - ドロワーがオーバーラップしていない TWebBrowser コンポーネント

C++Builder 10.0 Seattle を使用してドロワーをマスター ナビゲーションとして使用する Web ブラウザを開発していますが、ドロワーは Web ブラウザ コンポーネントと重複していません。私はすべてを試しましたが、うまくいかないようです。

画像

0 投票する
0 に答える
431 参照

c++builder - Embarcadero Technologies C++ Builder で使用する Xerces-c ライブラリをビルドする方法は?

xerces.appache ミラーから Xerces-c ソースをダウンロードしました。32 ビットと 64 ビットの両方で、C++Builder 10.0 Seattle で使用できる DLL を作成したいと考えています。

ビルド手順とダウンロード アーカイブは、VS Studio Express 2015 で使用できる Visual C++ ソリューション、または Borland C++ 用に設計された make ファイルを使用してビルドする手順を提供します。Borland は 10 年前に C++ ツールを放棄したので、make ファイルを試すことさえせずに、Embarcadero 10.0 Seattle コンパイラでは動作しないだろうと思いました。したがって、VS Studio Express 2015 で xerces-all をビルドしたところ、すべて動作しているように見えます。(DLL はエラーなしでビルドされ、サンプルはビルドされて実行されているようです。)

VS Studio ソリューションに変更を加えようとしましたが (呼び出し規約を から__cdeclに変更__stdcall)、サンプルのビルドに失敗するだけです。

Remy Lebeau からのアドバイスと、私が見つけたこの記事 ( Using Visual C++ DLLs with C++Builder ) に従って、Embarcadero ユーティリティの TDUMP、IMPDEF、および IMPLIB を使用して、ビルドされた DLL からエクスポート名を抽出しようとしました。これらは、次のような出力を生成します。

このスレッドで簡単なテストとして構築しようとしているアプリケーション コードを投稿しました。

C++ Builder テスト アプリで未解決の外部 'xercesc_3_1::XMLPlatformUtils::Initialize'

私は信じられないほど混乱しています。ツールで使用できるDLLまたはLIB を入手するにはどうすればよいですか?

0 投票する
0 に答える
146 参照

dll - ランタイム ライブラリを使用した VCL アプリの展開....32 ビットと 64 ビットのリンク方法

VCL アプリを展開する Win 7 64 ビット システムがあります。

そのシステムで 64 ビット VCL アプリケーションと 32 ビット VCL アプリケーションの両方を実行しています。

64 ビット アプリケーションは C++ Builder 10.0 Seattle でビルドされており、正常に動作します。

32 ビット アプリケーションはシアトルにアップグレードされますが、ここで混乱が生じます。borlndmm.dll でラッパーが見つからないというエラーが発生しました。C++Builder の Win32 および Win64 redist フォルダから、System32 および SySWOW64 ディレクトリの両方で DLL を更新しました。「アプリケーションを正しく起動できませんでした 0xc00007b」というエラーが表示されます。32 ビット アプリケーションが 64 ビット DLL にリンクしているようです。

64 ビットと 32 ビットの VCL アプリケーションを同じシステムに共存させ、それぞれの DLL に正しくリンクするにはどうすればよいですか? これを修正するにはどうすればよいですか?

borlndmm.dll を必要としないように 32 ビット アプリケーションをコンパイルできればよかったのですが、[ダイナミック RTL とリンク] オプションと [ランタイム パッケージとリンク] オプションを無効にしても、borlndmm.dll とのリンクでエラーが発生します。

0 投票する
0 に答える
154 参照

dll - VCL アプリケーション - AxisMediaControl.dll ダイナミック リンク ファイルの場所

C++Builder 10.0 Seattle でビルドされた VCL アプリケーションがあります。フォーム上で Axis Media Control を使用してビデオを表示するため、AxisMediaControl.dll実行時にファイルがロードされます。

過去に、これを 32 ビットのターゲット マシンにデプロイしたことがあり、アプリケーションはC:\Program Files\AppNameディレクトリにあり、AxisMediaControl.dll同じ場所にインストールされていました。すべてが期待どおりに機能しました。

このアプリケーションは 32 ビット アプリケーションであるため、64 ビットのターゲット マシンにデプロイする場合は、C:\Program File (x86)\AppNameディレクトリにインストールされます。もう一度、AxisMediaControl.dllファイルがアプリケーション ディレクトリにデプロイされます。

アプリが「指定されたモジュールが見つかりませんでした」というエラーで起動に失敗します。Process Monitor を使用すると、プログラムがdirProgram Filesではなく古いディレクトリで Axis DLL を探していることがわかりました。x86アプリケーションがその場所で DLL を検索する原因は何ですか?

開発マシンで同じバイナリを実行すると、アプリケーションはSysWOW64ディレクトリから DLL をロードします。DLL がターゲット マシンのそこに配置されている場合でも、その場所を検索できません。私が理解できない古いアプリケーションパスのみを調べています。Program Files

誰かが光を当てることができることを願っています。