問題タブ [macos-carbon]

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

iphone - 空でないフォルダと特定のファイル タイプの削除

  1. すべてのサブフォルダーとファイルを削除して、フォルダーを削除する最良の方法は何ですか?
  2. 特定の拡張子を持つファイルを削除する最良の方法は何ですか? たとえば、拡張子が「.txt」のファイルだけを削除したい場合はどうすればよいですか?

ココアまたはカーボン。

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

c++ - 別のスレッドからCFRunLoopStopを呼び出しても安全ですか?

私の(主にPOSIX)アプリケーションのMacビルドは、CFRunLoopRun()を呼び出してイベントループを実行する(MacOSからネットワーク構成変更イベントを取得する)子スレッドを生成します。

荷造りして立ち去るとき、メインスレッドは子スレッドの実行ループでCFRunLoopStop()を呼び出します。その時点で、CFRunLoopRun()は子スレッドに戻り、子スレッドは終了し、メインスレッド(子スレッドが終了するのを待つブロッキング)は続行できます。

これは機能しているように見えますが、私の質問は次のとおりです。これは安全で推奨される方法ですか?特に、別のスレッドからCFRunLoopStop()を呼び出すと、競合状態が発生する可能性がありますか?私が知る限り、Appleのドキュメンテーションはこの件に関して沈黙している。

メインスレッドからCFRunLoopStop()を呼び出すことが解決策ではない場合、良い解決策は何ですか?子スレッドにCFRunLoopRunInMode()を呼び出して、ブール値などをチェックするために頻繁にウェイクアップさせることができることは知っていますが、回避できる場合は、子スレッドにポーリングを行わせたくありません。

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

objective-c - CarbonコードをCocoaに移植するための戦略

Carbonコードを64ビット対応にするための戦略と記事を探しています。

64ビット用のCarbonは存在せず、存在しないでしょう。それはほとんど行き止まりです。

したがって、Carbonアプリケーションとツールキットを64ビットにするためには、GUI部分をCocoaとObjective-Cで書き直す必要がありますね。

移行に費やす労力を最小限に抑えるにはどうすればよいですか?必要なObjective-Cコードの量を最小限に抑えるにはどうすればよいですか?

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

macos - OS X の「Carbon」ウィンドウを移動するときにマウスを_キャプチャ_するために使用できる API はどれですか?

要求に応じて、ウィンドウのコンテンツ部分内の領域を使用して OS X ウィンドウをドラッグして移動するためのサポートを実装しました。つまり、タイトル バーのドラッグ アンド ムーブ機能を別の領域に複製します。

私がまだ解決していない問題は、ユーザーがマウスをすばやくドラッグすると、ウィンドウ領域を離れてしまい、マウス移動イベントが受信されなくなるという事実です。

Windows では、このタイプの問題は、win32 メソッド SetCapture() を呼び出すことで簡単に修正できます。対応する OSX メソッドは何ですか?

このアプリケーションは、OS X 固有の部分に Carbon を使用したクロスプラットフォーム C++ アプリケーションです。(もちろん、Cocoa の利点についてはすべて知っていますが、これは古いコード ベースであり、現時点では Cocoa を移植する時間もお金もありません。)

TrackMouseLocation() などの Carbon API メソッドを見つけましたが、このアプリケーションでそれらをどのように使用できるか実際にはわかりません。ここのリスト 2-7 では、 http: //developer.apple.com/legacy/mac/library/documentation/Carbon/Conceptual/Carbon_Event_Manager/Tasks/CarbonEventsTasks.html マウスはキャプチャされますが、問題は TrackMouseLocation() ブロックが待機していることです。入力。ブロッキングは、このアプリケーションでは実行できないことです。これは、1 秒間に何度も呼び出さなければならない Flash Player もホストしているためです。

これを理解しようとして組み立てたプロトタイプは、基本的に次のようになります。

アイデアはありますか?

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

objective-c - Intel ベースの Mac での Carbon 開発

Mac でアプリケーションを作成しようとしています。OS 承認ダイアログを使用するユーザー認証モジュールを開発し、その機能をアプリケーションで使用しようとしています。Mac の開発に関して 2 つの質問があります。

1) 炭素アプリケーションをココアに移植する可能性はありますか? (私は64ビットには何の関心もありません。簡単にするために、また低レベルのプログラミングに行かないため、ココアで開発したいと考えています。)

2) 次に、OS 10.5 で Intel ベースのミニ Mac を使用していることを教えてください。Carbon アプリケーションを cocoa に移植する可能性がない場合、Carbon 用の Intel ベースの Mini Mac で開発できますか?

よろしく

0 投票する
4 に答える
381 参照

objective-c - Carbon VS Objective-C & Intel ベースの Mac

Objective-C で Carbon アプリケーションを開発することはできますか?さらに、パワー PC ベースの Mac を持っていなくても Intel ベースの Mac を持っている場合でも、Carbon 用のアプリケーションを開発できますか?

よろしく。

0 投票する
4 に答える
4177 参照

cocoa - ココア/カーボンでマウスカーソルをグローバルに非表示にしますか?

Cocoa (または Carbon) のすべてのアプリのマウス カーソルをグローバルに非表示にする方法はありますか? または、少なくともそれを別のものに置き換えますか?

編集:入力していただきありがとうございますが、ダニエル・ジャルカットが少し前に解決策を見つけたことがわかりました:) http://lists.apple.com/archives/carbon-dev/2006/Jan/msg00555.html

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

objective-c - OSXでプログラム的にpidを使用してプロセスの現在の作業ディレクトリを取得します

OS XでプログラムでPIDを使用して、プロセスの現在の作業ディレクトリを取得する方法はありますか?

Cocoa、Carbon、またはAppleScriptはすべて許容されます。

「pwd」を現在のターミナルウィンドウ/タブに送信することはできません(ワークスペースに影響を与えたくない)。

Linuxコマンド「pwdx」も受け入れられません(「Cocoa」の部分を読んだ場合に備えて)

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

python - Mac の Carbon の GetCursorPos() に相当

背景 私たちは PythonOgre ベースのゲームを Mac に移植しており、パブリッシャーはマウスがウィンドウから離れる機能を要求しています。Windows では、マウス制御のために OIS (オブジェクト指向入力システム) を使用しています。GetCursorPos()つまり、OIS がマウスをウィンドウ境界内にキャプチャしたままにし、 Win32 APIを使用して画面座標でマウス カーソルを追跡しないようにします。

Ogre3d ループを簡単に変更することはできません。少なくともライブラリの再構築と、ビルド マシンで約 1 日かかるラッパーの再構築が必要です。理論的には OIS を変更することはできますが、スケジュールがタイトなので、同じ理由で、不必要に操作することも避けたいと考えています。

質問 Windows API に相当する、スクリーン スペースのマウス カーソル座標を取得するための Carbon API とは何GetCursorPos()ですか?

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

qt - Carbon、LSUIElement、およびウィンドウの表示

私は Carbon LSUIElement アプリケーションを持っています。これはバックグラウンドで実行され (環境設定によっては、メニューバーにアイコンが表示される可能性があります)、ユーザーにダイアログを表示する必要がある場合があります。ユーザー イベントに応答する場合もありますが、バックグラウンド タスクの失敗など。

(私は Qt 4.5 を使用しているため、アプリケーションは Carbon ベースです。Qt 4.6 では Cocoa ベースになりますが、そこにも問題があるように思えます)。

問題は、ウィンドウを開いて表示すると、前面に表示されないことです。これは LSUIElement アプリの成果だと思います。Qt は、Carbon では SelectWindow を使用し、Cocoa では [makeKeyAndOrderFront] を使用して、ウィンドウ (およびアプリ) を前面に表示します。

この問題を回避するために、ウィンドウ サーバーに直接アクセスしてみました: (最初のいくつかの手順は WindowID を取得することです。Qt-Cocoa を使用すると、NSWindow:nativeWindow を使用できるため、これはより簡単になります)

これは、一種の機能です-ウィンドウは前面に表示されますが、強調表示されたり、キーボードがフォーカスされたりしません。これらの問題を解決するための追加の手順はありますか、または問題全体に対するより簡単な解決策はありますか?