問題タブ [jvcl]

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 に答える
2088 参照

delphi - 内部にフラットボタンがあり、電卓がない数値編集コントロール

RADStudioを使用してC++プロジェクトを作成していますが、これはDelphiにも当てはまります。

ユーザーが浮動小数点数(小数点以下第2位)のみを入力でき、編集コントロール自体の内部のボタン(実際にはアイコン)をクリックして元の値(変数から取得、ここでは重要ではありません)を復元できる編集コントロールが必要です。

TJvCalcEditこれは、JEDIライブラリのを使用して私が行ったことです。

ここに画像の説明を入力してください

コントロールの定義:

ボタンクリックで呼び出されるメソッド:

問題:このメソッドの最後に、電卓のポップアップがコントロールの下に表示され、ユーザーによるアクションが必要になります。プログラムで値を変更しているので、これが発生しないようにします。このようなボタンは電卓をトリガーするために作られているため、これはデフォルト値だと思います。さらに、表示される値(255)は小数点なしで表示され、電卓を閉じると表示されます。

ここに画像の説明を入力してください

それで、この動作を無効にできますか?または、誰かが私に別のコントロール(標準、オープンソース、またはとにかく無料)で解決策を提案できますか?

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

delphi - JVCL のインストール エラー

Install.bat を介してJCLをインストールしましたが、正常にインストールされました。しかし、 install.bat を介してJVCLをインストールしようとすると、次のようなエラー メッセージが表示されました。

ここで何が問題なのか知っている人はいますか?

前もって感謝します。

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

delphi - 管理者以外のユーザーとして実行したときにインストーラーが失敗した場合のJVCLパッケージのインストール方法

Win7を使用しています。DelphiXEにJediVCLコンポーネントをインストールしましたが、正しく機能します。ただし、XEを別のユーザーアカウント(管理者特権がない)として実行しようとすると、JVCLコンポーネントがツールパレットに表示されませんが、クライアントユーザーとして実行してRxLibツールおよびコンポーネントとしてインストールされたものを使用する必要がありますクライアントユーザー。

管理者ユーザーとしてではなく、Jedi VCLコンポーネントをインストールまたは使用する方法はありますか?

お願い助けて...

通常のユーザーとしてbatファイルを実行すると表示されるエラーメッセージは次のとおりです。

少し早いですがお礼を。

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

delphi - TJvAppIniFileStorageを使用してINIファイルに新しいセクションを追加する方法

Delphi XEで記述され、dbExpressを使用してMySQLデータベースに接続されたデータベースアプリケーションプロジェクトがあります。JVCLグリッドコンポーネントを使用して、データセットのレコードを表示します。別のJVCLコンポーネントを使用してFormStorageを実行できれば、より効率的になります。

フォームの保存に使用することをお勧めしますTJvFormStorageTJvAppIniFileStorageこのプロジェクトには多くのフォームがあるため、フォームサイズの値を格納するためにINIファイルに新しいセクションを追加する必要がありますが、TJvAppIniFileStorageを使用してそれを行う方法がわかりません。

TJvAppIniFileStorageは、DefaultSection()メソッドを提供しているだけです。つまり、デフォルトとして宣言されている1つのセクションのみを変更して書き込むことができます。

JVCLのTJvAppIniFileStorageを使用して新しいセクションを追加する方法を誰でも説明できますか?

前もって感謝します。

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

delphi - TJvFormStorage がフォームの位置を正しく保存しないのはなぜですか?

というフォームがありfmTestます。プログラムが終了した場合、 JVCL TJvFormStorageを使用して、フォームの配置、フォームのサイズ、およびフォームの位置を INI ファイルに保存します。

ただし、実行時にWindowsコントロールをタスクバーの近くにのみヘッダー部分が見えるまで下にドラッグしようとすると、それを離してプログラムを終了すると、fmTestプログラムが開始されたときにその位置から開始されませんまた。

StoredPropsメソッドとStoredValuesメソッドを使用するように提案されましたが、TJvFormStorageそのメソッドの使用方法がよくわかりません。

TJvFormStorage がフォームの位置を正しく保存しないのはなぜですか? を使用してフォームの位置を正しく保存する方法はありますTJvFormStorageか?

前もって感謝します。

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

delphi - TJvAppDBStorage を含むデータ モジュールを解放すると、TComponent.RemoveNotification() でアクセス違反が発生します

解放できないデータ モジュールがあります (おかしいかもしれませんが)。手動で破棄しようとしても、別のコンポーネント ( Application.

このデータ モジュールには、一連のTADOxxxコンポーネントに加えて、 two TJvDataSource、 one TApplicationEvents、 one TClientDataSet、および oneが含まれていTJvAppDBStorageます。そのコードには、ADO 接続を開く、いくつかのレコードをテーブルに書き込む、いくつかのクエリを実行するなど (何も変わったことはありません) しか含まれていません。上記以外のコンポーネントは所有していません。この偽の電話がどこから発信されているのか、私は困惑していRemoveNotificaion()ます。何か案は?

アップデート

を削除した後TJvAppDBStorage、データ モジュールを破棄できます。コンポーネントのプロパティは次のとおりです。

使ったことある人いJvAppDBStorageますか?これは正常予想される動作ですか?

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

multithreading - Delphi: スレッドを「一時停止しないで」作成する必要がありますか?

Jedi VCL のメモリ リークを追跡しようとしていましたがJvHidControllerClass.pas、ソース履歴で次の変更に遭遇しました。

古いリビジョン:

現在のリビジョン:

経験から、中断されていないスレッドを作成すると、次のことがわかりました。

その後、スレッドはすぐに実行を開始します。この場合、まだ初期化されていないオブジェクトにアクセスしようとします。

すぐに塗りつぶしReportて、オブジェクトにアクセスしようとしますDevice。問題は、それらがまだ初期化されていないことです。これらは、スレッドが開始された後の次の行です。

これは競合状態であることを認識しています。また、ユーザーが本番環境でクラッシュを経験する可能性はかなり低いため、レース クラッシュを放置してもおそらく問題はありません。

しかし、私は道を外れていますか?何か不足していますか?呼び出します:

スレッドを開始してすぐに実行しませんか? これは本当に (意図的に) JVCL に追加された競合状態の回帰ですか? 何か秘密はありますか

それは正しいコードになります:

?

間違えて電話して火傷した後

私は決して正しくないので、私の脳にそれをファイルしました。(値を初期化する必要がある場合) スレッドをすぐに開始できる有効な用途はありますか?

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

delphi - TJvWizard で Segoe UI Light をプログラムで設定する

コンポーネントを使用していてTJvWizard、ヘッダーのタイトル フォントを Segoe UI Light を使用するように設定したいと考えています。私のフォームOnCreateメソッドでは、次のことを行っています。

このコードはフォント サイズを正しく設定しますが、フォントは Segoe UI Light に変更されず、代わりに親フォント (Segoe UI) を使用し続けます。

回避策として、私はこれをしました:

これはうまくいきますが、私には変なにおいがします。また、割り当てがどのように機能するかわかりません。それは参照を保持していますか?f.Freeラインを維持する必要がありますか?

編集:追加情報として、Office 2013 にこれらのフォントのかなり新しいバージョンをインストールしました。また、InkScape などの他のアプリケーションで Segoe UI Light を選択できないことも確認しました。

また、Delphi プロパティ エディタでは、フォント選択ダイアログを使用して選択できますが、「Segoe UI Light」という名前は表示されません。代わりに、Segoe UI を選択する必要があり、Font Style リストで Light スタイルを選択します。

フォントダイアログ

また、ドロップダウン リストを使用してフォント名を選択しても機能しません。

プロパティ インスペクターのフォント名が設定されていません

したがって、これは私が持っているフォントのバージョンといくつかの拡張プロパティに関係していると思います (実際、私の Fonts フォルダーには Segoe UI しか表示されず、それを開くと 10 個のウィンドウが開きます)。

Windows Font フォルダー内の Segoe UI

私はまだ回避策を探しています(これは関連しているように聞こえますが、彼らは従いませんでした)