問題タブ [c++builder-xe]

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 投票する
0 に答える
95 参照

c++builder-xe - C++ Builder XE デバッガーはコードにどのような影響を与える可能性がありますか?

C++ ビルダー XE の使用

2 つのパネルを持つフォームで TStatusBar を使用しています。最初のパネルは単なるテキストです。2 つ目は OwnerDraw に設定され、comport が接続されているかどうかを示す赤または緑のパネルを示す必要があります。これは、フォームの TTimer から 500 ミリ秒間隔で更新されます。IDE内から(デバッガーを使用して)プログラムを実行すると問題なく動作しますが、デバッガーを使用せずにIDE内から、宛先フォルダーの.exeファイルからプログラムを実行すると、ステータスバーを更新しません。

デバッグするためにデバッガーで実行するとすぐに問題が発生しないため、これは本当に面倒です。デバッガーを使用していないときに OnDrawPanel イベント ハンドラーが呼び出されていないようです。誰もが理由、またはこれを回避する方法について何か考えを持っていますか?

0 投票する
1 に答える
1291 参照

delphi - C ++ Builder / Delphiコンポーネントを記述し、バイナリプロパティをDFMファイルに保存します

私は、SVGファイルがそれらに対していくつかのことを実行することを表示するためにC++ビルダーコンポーネントを作成しました。

今のところ、SVGファイルのファイル名でIDEで初期化できるSvgFile(UnicodeString)という名前のプロパティを公開しました。これは正常に機能します。このプロパティはDFMファイルに保存され、そこから再ロードできます。

ただし、アプリケーションにSVGファイルを提供する必要があるため、TImageコンポーネントで行われるように、SVGをDFMファイルに保存したいと思います。

TPropertyEditorとおそらくTPersistentクラスを作成する必要があると思いますが、どうすればよいかわかりません。

誰かが私がそうするのを手伝ってくれるでしょうか?

2013/01/17を編集:ここに解決策がありますhttp://www.informit.com/articles/article.aspx?p=28278&seqNum=5

ご協力いただきありがとうございます。

0 投票する
1 に答える
85 参照

c++builder-xe - 実行時に TDateTime 型の Day を置き換える方法

dtBegin という名前の TDateTime 変数があります。dtBegin には値 "7/3/2000" が含まれています。値を「2/3/2000」に変更するには、Day のみを「2」に置き換える必要があります。

これを行う方法?C++ Builder XE で RecodeDay() メソッドを使用するように提案されましたが、このメソッドは機能しません。メソッドに dtBegin を配置すると、次のようになります。

しかし、メソッドは必要な値を返しません。

これを行う方法はありますか?お願い助けて。前もって感謝します。

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

mysql - C++ Builder XE アプリケーションから MySQL データベースを直接更新できません

SpeZet と呼ばれる C++ Builder XE 言語で記述されたデータベース アプリケーションがあります。MySQL Remote Server データベースを使用しています。

時々、SpeZet からリモート MySQL サーバーの「tbtime」テーブルにデータを直接挿入するとうまくいきましたが、SpeZet から直接レコードを更新しようとすると、次のようなエラー メッセージが表示されました。

プロジェクト SpeZet.exe で例外クラス TDBXError が発生し、「テーブル 'SpeZet.tbtime' が存在しません」というメッセージが表示される

一方、tbtime テーブルは実際にはデータベースに存在します。

プロセスを続行しようとすると、次のようなエラー メッセージが再び表示されます。

プロジェクト SpeZet.exe で例外クラス EDatabaseError が発生し、「レコードが見つかりません。キーが指定されていません'

誰でもここで何が悪いのか教えてもらえますか?

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

delphi - C++ Builder で Delphi の「in」演算子を使用する方法

私は初心者のプログラマーです。in次のように、C++ Builder XE でDelphi の演算子を使用する必要があります。

C++ Builder でそれを行う方法は?

前もって感謝します。

0 投票する
1 に答える
1271 参照

delphi - C ++BuilderでDelphiInc()およびDec()プロシージャを使用する方法

私は初心者プログラマーです。DelphiInc()Dec()プロシージャをC++BuilderXEで次のように使用する必要があります。

誰でも私にこれを行う方法を手伝ってくれる?

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

delphi - DBGrid の列幅を自動的に調整する方法

この Delphi コードを C++ Builder XE で使用しようとしました。言語を手動で C++ Builder 言語に変換します。

この手順は正しく機能していました。DBGrid を保持するフォームを最大化しようとすると、この手順により、グリッド幅に従って列幅が正常に分割されました。ただし、フォームの右または左でマウス コントロールを使用してフォーム幅を最小化しようとすると、この手順では列幅が各列の値の長さやラベルの長さに調整されませんでした。

それを修正する方法はありますか?または、このような問題を解決する別の手順を持っている人はいますか?

編集:わかりました、これがコードです。上記のコードを次のコードに手動で変換しました。

前もって感謝します。

0 投票する
1 に答える
3350 参照

dll - Embarcadero C ++ BuilderXE3DLLをEmbarcaderoC++BuilderXE3にインポートする

Embarcadero C ++ Builder XE3でDLLを作成し、同じ環境のテストプロジェクトで使用しようとしています。

コードで良い結果が得られないチュートリアルの例を取り上げます(!):http ://docwiki.embarcadero.com/RADStudio/XE3/en/Tutorial:_Using_Dynamic_Linked_Libraries_in_C%2B%2BBuilder_Applications

これが私のDLLの内容です:

BaseAuth.hファイル:

Auth.hファイル:

Auth.cppファイル:

およびFile1.cpp:

今テストアプリケーションで私は持っています:

  • 同じBaseAuth.hファイル

  • ボタン付きのフォーム:

Test_DLLAuthOrga.h:

Test_DLLAuthOrga.cpp:

結果は次のとおりです。

ポインタmpAuthにはアドレスがあります。

しかし、そのメソッドにはアドレスがなく、「void TestMessage()」などの単純なメソッドを呼び出すと、アクセス違反が発生します。

=>最初は文字列の互換性の問題のようでした(ただし、「C++BuilderXE3」と「C++BuilderXE3」の間では同じ文字列形式が使用されると思いますか?!):UnicodeDelphiでDLLを呼び出すときにエラーが発生しました

=>同様の問題が見つかりましたが、C ++DLLをDelphiに変換し、C ++DLLをC++に変換しませんでした...:DelphiアプリでC++DLLを呼び出します

=>「HINSTANCEload;」の代わりに「HMODULE」を使用してみました。:同じ結果。

=>使用して成功せずに試しました

それ以外の :

=>また、「__stdcall」を「__cdecl」または「」(削除)に置き換えてみました。librayはロードされますが、GetProcAdressはNULLを返します。

=> DLLのメソッド「TestMessage()」を呼び出そうとして、何が間違っているのでしょうか。

0 投票する
3 に答える
4040 参照

c++builder - Firemonkey: Embarcadero C++ Builder XE3 での TGrid の使用

データベースからデータを読み取り、Firemonkey の TGrid を使用してテーブルとして表示するツールを構築しようとしています。TCheckColumn や TPopupColumn などのさまざまな種類の列を使用する必要がありますが、C++ Builder でそれらを使用する方法に関する適切なガイドや例が見つかりません。

とにかく、TGrid のイベント onGetValue でセルの値を設定する TStringColumn,TProgressColumn の使用法を理解することができました。

タイプ TCheckColumn、TImageColumn、および TPopupColumn の列の値を設定する方法を知っている人はいますか?

ありがとうダニエレ

- -アップデート - -

TProgressColumn を使用することができました。これは、フォームのコンストラクターで行うことです。

これは Grid1GetValue メソッドです。

- -アップデート - -

メソッド OnSetValue を使用して列の値を保存した場合

次に、メソッド OnGetValue で設定します。

1 つのチェックボックスをクリックすると、他のすべてのチェックボックスの状態が変わります。したがって、コンポーネントは正しく機能します...ここでのポイントは、Value を正しい方法で true または false に設定する方法です。

0 投票する
1 に答える
1027 参照

ide - IDE によって生成された USEFORM マクロ呼び出しが順序を変更する

数十のフォームとユニットを含む C++Builder XE プロジェクト (VCL フォーム アプリケーション) があります。プロジェクトに属するファイルが追加、削除、または名前変更されるたびに、IDE は次の 2 つのことを行う必要があります。

  1. 影響を受けるユニットがフォームまたはフレームの場合、プロジェクト ソース ファイル (ProjectName.cpp) で USEFORM マクロの呼び出しが追加または変更されます。
  2. プロジェクト ファイル (ProjectName.cbproj) の CppCompile 要素が追加または変更されている

ただし、IDE は、必要な変更を行うだけでなく、既存の USEFORM レコードと CppCompile レコードの一部を、変更の影響を受けなくてもシャッフルします。ユニット (cpp とヘッダー ファイル) を追加すると、プロジェクト ソースを変更する必要がなく、cbproj ファイルのみを変更する必要がある場合でも、USEFORM がシャッフルされます。

新しい秩序がどのように形成されるかについて、特定のパターンは見当たりません。1 つのユニットを編集または名前変更すると、USEFORM の約半分の位置が変更されたように見え、CppCompile レコードはわずか 2 つまたはまったく変更されません。2 台の異なるマシンでプロジェクトのコピーに変更が加えられた場合、ほとんどの変更は似ているように見えますが、すべてではありません。これは、並べ替えがランダムではないことを示しています。

この動作は、Subversion を使用して変更をマージするときに問題を引き起こします。これは、順序の変更によって発生した競合を手動で解決する必要があるためです。

問題は、前述の動作を引き起こしている可能性があるものと、それを取り除く方法です。