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

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

c++ - Borland C++ Builder 6 から Microsoft Visual C への DLL コードの移植

ボーランド C++ ビルダー 6 で記述された DLL の古い C++ コードについて助けが必要です。VS2008 または VS2010 で再コンパイルする必要があります。私たちのすべてのテストで、MSVC は borland builder よりも 4 倍以上 (速度に関して) コードを最適化することが示されているため、私たちのソフトウェアには一種のリアルタイム要件があります。私は主にAnsiString、イベント、スレッド、リストのクラスであるstdまたはwin32api関数で多くのVCLコードを書き直したりラップしたりしたので、ほとんどのコードはコンパイルされてうまく動作します...

でも一人ではどうしたらいいのかわからない壁にぶち当たったので、どなたかお力添えをお願いします。

__closureキーワードをシミュレートできるものをどのように実装できるかわかりません。これは borland c++ ビルダー固有のキーワードであり、プログラマーがメンバー関数への汎用ポインターを使用できるようにします。メンバー関数へのポインターは通常の関数ポインターではなく、member_function_pointer=function_pointer-this. したがって、__closure保存する必要がありthisますmember_function_pointer。しかし、これを達成する方法がわかりません。コード内のクラスはお互いを認識していないため、これはどのように可能であり、これは優れたオブジェクト指向プログラミングの原則のすべての原則に違反します。

さびた英語で申し訳ありません:S お時間とご協力ありがとうございます。

0 投票する
5 に答える
4525 参照

c++ - Borland C++6のWindowsからプログラムファイルディレクトリを取得します

Windows 7のバッチファイルの代わりに実行可能ファイル(Borland C ++ Builder 6を使用)を作成する必要がありました。これは、アクセス許可によって通常のユーザー(管理者以外)が必要なバッチを実行できないためです。いくつかの異なるWindows7マシン、いくつかの64ビットといくつかの32などがあります。私が直面している問題は、「プログラムファイル」ディレクトリがプログラムにハードコードされていることですが、常に正しいとは限りません。プログラムファイルディレクトリ。これにより、一部のマシンでエラーが発生します。

レジストリからプログラムファイルのディレクトリを取得する方法はよく知っていますが、アクセス許可の設定でプログラムがレジストリにアクセスできないため、これがすべてのマシンで機能するとは限りません。私はGetWindowsDirectoryのような関数を高低で検索してきましたが、役に立ちませんでした。誰か提案はありますか?

編集:私はこれをWindows XPマシンでWin7に配置するようにプログラムしました(XP / 7のものを変更または回避する方法はありません、それはくだらないかもしれません)。これは、インストールを必要としないシンプルなユーティリティです。ファイルに配置されるだけです。いくつかのタスクを実行するには、外に出てプログラムファイルディレクトリを見つける必要があります。

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

c++ - wglShareLists はエラー 6 で失敗します: ERROR_INVALID_HANDLE ハンドルが無効です

TGLForm と TGLForm2 の 2 つのクラス間で HPBUFFERARB を共有しようとしています。(FBO を試してみましたが、Borland Builder 6 の古いバージョンでは FBO を使用して管理できません)

私の目標は、2 つの openGL ウィンドウに同じバッファを表示することです。

だから私は最初のフォームの外側でこのオブジェクトを宣言しました:

最初の GLForm と同じピクセル形式になるように初期化します。

これが私の最初の DrawScene です: "PaintGL()" 描画はこのフォームに完全に描画されます:

そして、ここに私の 2 番目の GLForm の DrawScene があります: 問題は、色付きのクワッドしか見えないのに、このクワッドがテクスチャ化されていないか、テクスチャが空であることです:

=> このテクスチャが空かどうかを確認するにはどうすればよいですか?

それをビットマップにエクスポートして確認しますか?

=> DrawSceneForm2 の wglShareLists は GetLastError でエラーを返します:

エラー 6 : ERROR_INVALID_HANDLE ハンドルが無効です。

=> 誰かがこの wglShareList または私のコードで何が間違っているかを理解していますか?

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

c++ - 移植 / 非常に大きくて古い C++Builder コードを Qt または CLI/Mono に再コーディング

こんにちは、古い C++Builder (6) プロジェクトをリメイクして、Linux/Windows 用に作成する必要があります。

主な大きなプロジェクトの部分は

  1. OPC クライアント (およびその他のクライアント)
  2. データベース (現在は MS SQL) で作業していますが、postgres のような別のデータベースへの移植は別のタスクです。
  3. テーブル/レポート/グラフィックス/ダイアグラムの GUI コンポーネント!

もう1つの問題は、現在数か月しかないことです。

だから私は尋ねたい: それを移植する方が良い/簡単ですか? MinGW dll + CLR GUI ? Qt? 多分U++?

ありがとうございました。

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

winapi - MDI アプリが Windows 7 タスクバーから WM_ACTIVATE および DWM メッセージを受信しない

Borland C++Builder 6 で記述された MDI アプリがあり (新しいバージョンへのアップグレードはオプションではありません)、ITaskbarList3インターフェイスを使用して MDI 子ウィンドウを Windows 7 タスクバーに統合しています。Microsoft のドキュメントに従って、各 MDI ウィンドウは、タスクバーからメッセージを受信するためのプロキシ ウィンドウを作成します。登録したタブITaskbarList3はタスクバーに表示され、プロキシ ウィンドウは、、、、WM_GETICONおよびメッセージをWM_ACTIVATEAPP受け取ります。ただし、、、、またはメッセージは受信しません。それらがなければ、機能は役に立ちません。WM_SYSCOMMANDWM_CLOSEWM_ACTIVATEWM_DWMSENDICONICTHUMBNAILWM_DWMSENDICONICLIVEPREVIEWBITMAP

これはマニフェストの問題ではないかと考えたので (アプリは SoftGems TThemeManager を使用しています)、C++Builder 2010 アプリからマニフェストを抽出し、「互換性」セクションを追加して、Vista と Win7 をサポート対象の OS としてマークし、ストックを置き換えました。新しいマニフェストを使用して、コンパイル済みの実行可能ファイルにマニフェストを追加します。まだ運がありません。

何か不足していますか?

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

c++ - 他のボタンがクリックされたかどうかを確認する

答えを見つけようとしましたが、見つかりませんでした。

次のようなことをしたい:ボタンをクリックすると、別のボタンがクリックされるまでアクションを繰り返したい

私はこのようなものを持っています:

別のボタンをクリックするまで、「if」内でアクションを繰り返したい。

誰かが教えてもらえますか、どうすればこれを達成できますか?

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

c++ - C++ プログラムでフォントがゆがんでいる一部のマシンの大きなシステム フォントを修正しますか?

通常のデフォルトの Windows 設定で正常に動作するプログラム (Borland C++ ビルダーを使用) を作成しました。しかし、一部のユーザーはシステムを変更して通常より大きなフォントを使用しています (たとえば、Windows のテーマを変更したり、システム設定を変更して、視力が悪い場合にフォントを大きくしたりしています)。これにより、多くのテキストとフィールドが見えなくなります。何年も前にこの問題を克服しなければならなかったことを覚えていますが、それを行う方法についての情報を見つけることができず、どこから始めればよいかさえわかりません。

質問は次のとおりです。フォームでシステム フォントを変更する方法を知っている人はいますか? できれば、システムの要求に関係なく、MY フォント サイズをプログラム内の同じサイズに維持したいのですが、それがオプションだとは思いません。

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

c++ - Windows XP および 7 を使用して「.txt」を特定のディレクトリに保存する

ofstream(C++ Builder)を使用してテキスト ファイルを特定のディレクトリに保存しようとしています。Windows 7 で問題が発生しています。

Windows 7 を使用して「.txt」ファイルを特定のディレクトリに保存するにはどうすればよいですか?

OBS: Windows 7 を使用してプログラムを保存すると、ファイルは次の場所に保存されます。

C:\Users\Name\AppData\Local\VirtualStore\Folder1\Name.txt

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

debugging - Borland C++ ビルダー バージョン 6.0 でのデバッグ

このソフトウェアを使用してデバッガー ウィンドウを表示する方法を知りたかっただけです。実行時のコードの流れを見ることができるように。

ありがとう。

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

development-environment - C++ Builder 6 - インクルード ディレクトリのグローバル パス

ディレクトリを含めるためにグローバル パス (つまり、現在開いているプロジェクトから独立) を設定する方法はありますか?