問題タブ [c++builder-xe4]
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++ - クラッシュする逆アセンブルされた C++ コードの分析
以下のコードは、コントロールが '}' を離れるとクラッシュします。FieldByName()->AsString を変数に置き換えるか、else が実行されていない場合はそれを削除すると、クラッシュしません。'==' は、AV が発生し始めたときに、SameText に置き換えられました。
分解を見てみると、
else if と else を切り取り、場所 53a566 から続けます
「>」が表示されている場所に AV が発生します。私の質問は、最初のブロックに 3 つの作成と 2 つの破棄しかなく、下部に余分な 2 があるのはなぜですか? したがって、実行されたコードを合計すると、3 つの作成と 4 つの破棄があります。また、どの文字列がどの Create と Destroy に対応しているのかわからないようです。「RequirePO」、AsString、「Y」が 3 つの Create を構成し、Create ポイントの 1 つが別のアドレスを指していることがわかります。多分私はそれを正しく読んでいません。
助けていただければ幸いです。
よろしく、 マシュー・ジョイ
comctl32 - TListBox OnDrawItem が COMCTL32.dll で AV を引き起こす
アプリが COMCTL32.dll から TListBox::OnDrawItem へのアクセス違反を生成する原因を絞り込みました。TListBox.Style は lbOwnerDrawFixed です。
アプリは C++ Builder XE4 で構築され、Win7-64 および Win8-64 で実行されます。私はWin7でそれを実現できますが、IDE内からのみ、散発的にしか実現できません。Win7 のリリース ビルドではエラーは発生しませんが、Win8 では毎回発生します。
これは、フォームが最初に作成されたときにのみ発生します。フォームには、次/前のレコードに移動するためのボタンが含まれています。これは、コントロールを設定するすべてのコードを呼び出しますが、これらの呼び出しに問題はありません。フォーム構築後の初回のみ。
フォーム コンストラクターは、TTimer を 100 ミリ秒一時停止するように設定します。TTimer::OnTimer は、データをコントロールにロードする関数を呼び出します。TListBox が読み込まれた後、OnDrawItem イベントが呼び出されます。
TListBox.Style を lbStandard に設定し、カスタム OnDrawItem を削除しても問題ありません。
OnDrawItem ハンドラーのサンプルを次に示します。
TListBox.Canvas が NULL でないことを確認するためにテストしましたが、違いはありませんでした。どうやらそれは常にNULLではありません。
ここから先に進む方法がわかりません。提案を歓迎します。
ありがとう、キャスリーン
model - 実行時に FireMonkey に 3D モデルをロードする方法
FireMonkey アプリケーションで 3D モデルをインポートするのと同じように、プロパティ meshCollection によって 3D モデルをロードできました。
しかし、モデルをロードできませんでしたModel3D->LoadFromFile("filepath.obj")
私は多くの時間を試していますが、それでもうまくいきません!
Firemonkey XE4 のバグですか?
firemonkey - FireMonkey の TMesh オブジェクトで色を描画するには?
私は別の色を描きたい、これは私のコードです:
どうすればいいですか?カラーマップを使用する必要がありますか? と同じように:
http://edn.embarcadero.com/article/42114
TMesh オブジェクトには 4 つのカラー プロパティがあります。
どういう意味ですか?それの使い方?
c++builder - C++Builder > バイナリ番号 0b1 によりエラー E2141 が発生する
C++ Builder XE4 を使用しています。
コードなどで 2 進数を使用しようとし0b1
ています。
以下は私が試したコードです:
上記はコンパイラ エラーを引き起こします。
Unit1.cpp(19): E2141 宣言構文エラー
C++Builder はこのような 2 進法をサポートしていますか?
0x11
C++Builder で動作することを確認しました。
0b11
また、C++ を使用して IDEOne で使用できることも確認しました。
c++ - XE4 c++ VCL アプリケーションでのプリンター プロパティの保存
次の方法で、一部のプリンター プロパティ (つまり、ページ サイズ) を ini ファイルに保存しようとしています。
printerDeviceMode
コードは内側のifステートメント内に入りますが、変数を調べるdmDeviceName
と正しいように見えます。他の設定の多くはガベージのようです (を含むdmPaperSize
):
dmSize
0であることに注意してください。
TPrinterSetupDialog コンポーネントを使用してプリンタのページ サイズを変更しようとしましたが、値は変わりませんdmPaperSize
。
私はどこかで一歩を踏み外したことがありますか?
これは XE4 c++ ビルダー VCL プロジェクトです。