問題タブ [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.
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 お時間とご協力ありがとうございます。
c++ - Borland C++6のWindowsからプログラムファイルディレクトリを取得します
Windows 7のバッチファイルの代わりに実行可能ファイル(Borland C ++ Builder 6を使用)を作成する必要がありました。これは、アクセス許可によって通常のユーザー(管理者以外)が必要なバッチを実行できないためです。いくつかの異なるWindows7マシン、いくつかの64ビットといくつかの32などがあります。私が直面している問題は、「プログラムファイル」ディレクトリがプログラムにハードコードされていることですが、常に正しいとは限りません。プログラムファイルディレクトリ。これにより、一部のマシンでエラーが発生します。
レジストリからプログラムファイルのディレクトリを取得する方法はよく知っていますが、アクセス許可の設定でプログラムがレジストリにアクセスできないため、これがすべてのマシンで機能するとは限りません。私はGetWindowsDirectoryのような関数を高低で検索してきましたが、役に立ちませんでした。誰か提案はありますか?
編集:私はこれをWindows XPマシンでWin7に配置するようにプログラムしました(XP / 7のものを変更または回避する方法はありません、それはくだらないかもしれません)。これは、インストールを必要としないシンプルなユーティリティです。ファイルに配置されるだけです。いくつかのタスクを実行するには、外に出てプログラムファイルディレクトリを見つける必要があります。
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 または私のコードで何が間違っているかを理解していますか?
c++ - 移植 / 非常に大きくて古い C++Builder コードを Qt または CLI/Mono に再コーディング
こんにちは、古い C++Builder (6) プロジェクトをリメイクして、Linux/Windows 用に作成する必要があります。
主な大きなプロジェクトの部分は
- OPC クライアント (およびその他のクライアント)
- データベース (現在は MS SQL) で作業していますが、postgres のような別のデータベースへの移植は別のタスクです。
- テーブル/レポート/グラフィックス/ダイアグラムの GUI コンポーネント!
もう1つの問題は、現在数か月しかないことです。
だから私は尋ねたい: それを移植する方が良い/簡単ですか? MinGW dll + CLR GUI ? Qt? 多分U++?
ありがとうございました。
winapi - MDI アプリが Windows 7 タスクバーから WM_ACTIVATE および DWM メッセージを受信しない
Borland C++Builder 6 で記述された MDI アプリがあり (新しいバージョンへのアップグレードはオプションではありません)、ITaskbarList3
インターフェイスを使用して MDI 子ウィンドウを Windows 7 タスクバーに統合しています。Microsoft のドキュメントに従って、各 MDI ウィンドウは、タスクバーからメッセージを受信するためのプロキシ ウィンドウを作成します。登録したタブITaskbarList3
はタスクバーに表示され、プロキシ ウィンドウは、、、、WM_GETICON
およびメッセージをWM_ACTIVATEAPP
受け取ります。ただし、、、、またはメッセージは受信しません。それらがなければ、機能は役に立ちません。WM_SYSCOMMAND
WM_CLOSE
WM_ACTIVATE
WM_DWMSENDICONICTHUMBNAIL
WM_DWMSENDICONICLIVEPREVIEWBITMAP
これはマニフェストの問題ではないかと考えたので (アプリは SoftGems TThemeManager を使用しています)、C++Builder 2010 アプリからマニフェストを抽出し、「互換性」セクションを追加して、Vista と Win7 をサポート対象の OS としてマークし、ストックを置き換えました。新しいマニフェストを使用して、コンパイル済みの実行可能ファイルにマニフェストを追加します。まだ運がありません。
何か不足していますか?
c++ - 他のボタンがクリックされたかどうかを確認する
答えを見つけようとしましたが、見つかりませんでした。
次のようなことをしたい:ボタンをクリックすると、別のボタンがクリックされるまでアクションを繰り返したい
私はこのようなものを持っています:
別のボタンをクリックするまで、「if」内でアクションを繰り返したい。
誰かが教えてもらえますか、どうすればこれを達成できますか?
c++ - C++ プログラムでフォントがゆがんでいる一部のマシンの大きなシステム フォントを修正しますか?
通常のデフォルトの Windows 設定で正常に動作するプログラム (Borland C++ ビルダーを使用) を作成しました。しかし、一部のユーザーはシステムを変更して通常より大きなフォントを使用しています (たとえば、Windows のテーマを変更したり、システム設定を変更して、視力が悪い場合にフォントを大きくしたりしています)。これにより、多くのテキストとフィールドが見えなくなります。何年も前にこの問題を克服しなければならなかったことを覚えていますが、それを行う方法についての情報を見つけることができず、どこから始めればよいかさえわかりません。
質問は次のとおりです。フォームでシステム フォントを変更する方法を知っている人はいますか? できれば、システムの要求に関係なく、MY フォント サイズをプログラム内の同じサイズに維持したいのですが、それがオプションだとは思いません。
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
debugging - Borland C++ ビルダー バージョン 6.0 でのデバッグ
このソフトウェアを使用してデバッガー ウィンドウを表示する方法を知りたかっただけです。実行時のコードの流れを見ることができるように。
ありがとう。
development-environment - C++ Builder 6 - インクルード ディレクトリのグローバル パス
ディレクトリを含めるためにグローバル パス (つまり、現在開いているプロジェクトから独立) を設定する方法はありますか?