3

LazarusまたはFreePascalを搭載したMacOSXでBluetoothを使用した人はいますか?Bluetoothユニットがありますが、現在はLinuxのみをサポートしています。

既存のユニットに関する情報: http ://wiki.freepascal.org/Bluetooth

Mac OSをサポートするためにこれを拡張する予定ですが、重複した作業を避けるために、MacOSでBlueToothを使用するコードを誰かがすでに書いているかどうかを知っておくと便利です。

一方、XCodeを使用してBluetoothにアクセスしたことがある場合、どのライブラリを使用しましたか?いくつかのBluetoothアプリケーションを開くことで、XCodeプロファイラーでこれを発見できると確信しています。

注:Mac OS XはLinuxにあるBlueZライブラリを使用していないようです。そのため、ライブラリパスを変更するほど簡単な解決策はないと思います。代わりに、/ System / Library / Frameworks/IOBluetooth.frameworkにIOBluetooth「フレームワーク」があります。

見てみると、次のようになります。

    kaikei.ocn.ntt.com:IOBluetooth.framework$ファイル*
    CodeResources:XMLドキュメントテキスト
    ヘッダー:ディレクトリ
    IOBluetooth:3つのアーキテクチャを備えたMach-Oユニバーサルバイナリ
    IOBluetooth(アーキテクチャx86_64用):Mach-O64ビット動的リンク共有ライブラリx86_64
    IOBluetooth(アーキテクチャi386用):Mach-O動的リンク共有ライブラリi386
    IOBluetooth(アーキテクチャppc7400用):Mach-O動的リンク共有ライブラリppc
    リソース:ディレクトリ
    バージョン:ディレクトリ

一方、誰かがすでにこれを行っていれば、おそらくグーグルでそれを見つけることができるだろうと思います....偶然に私が間違っている場合は、返信して知らせてください。

明確化:以前に通常の共有ライブラリ(fe sqlite3)のバインディングを作成しましたが、「フレームワーク」のバインディングは作成していません。バインディングを作成したり、FreePascalのMacOS Bluetoothフレームワークを使用したりしたことがない場合は、FreePascalのフレームワーク関数を一般的に使用する方法についてアドバイスをいただければ幸いです。(通常、移植している関数はObj-CではなくCベースであるため、FPKでObj-Cメソッドを宣言する方法はわかりませんが、検索を続けるといくつかのサンプルを見つけることができると確信しています)。

4

1 に答える 1

3

翻訳された Mac OS X フレームワークCヘッダーのメインの svn リポジトリはhttp://svn.freepascal.org/svn/macosxintf/trunkです。

随時、FPC リリースはそこでホストされている最新バージョンと同期されます。そのリポジトリ (MPPInterfaces サブディレクトリ内) 内のファイルは、FPC、GPC、または CodeWarrior Pascal バージョンのいずれかに自動的に変換できる一般的な形式であることに注意してください。

FPC バージョンを生成するには、「make fpcpinterfaces」を使用し、Build/FPCPinterfaces フォルダーで結果を見つけます。

新しいヘッダーを変換するには、macosxintf リポジトリのチェックアウト コピー内から次のようなものを実行します。

その後、結果のファイルを編集して、単位を追加/削除し、自動翻訳プロセスで処理されないその他のものをクリーンアップする必要があります。完成したら、完成したユニットと共に bugs.freepascal.org にバグレポートを提出してください。

(注: 私は未登録なので、投稿ごとに 1 つの URL しか追加できません。そのため、次の URL はその制限を回避するために少し混乱しています)

また、Mac Pascal メーリングリスト (lists.sonic.net/mailman/listinfo/mac-pascal) に参加して、誰かがそれらのヘッダーを既に翻訳しているかどうかを尋ねることもできます。

実際、Bluetooth フレームワークにはいくつかの Objective-C ヘッダーも含まれています。Objective-Pascal のサポートは、FPC wiki (google FPC_PasCocoa) で説明されているように、最新の FPC svn バージョンでのみ利用できます。Objective-C と連携するには、このサポートが必要です。

Objective-C の翻訳は、FPC の svn (svn.freepascal.org/svn/fpc/trunk/packages/cocoaint/utils/) の他の場所にあるスクリプトを使用するのがおそらく最も簡単です。

前述の翻訳と翻訳ツールを維持しているすべての人が購読しているので、上記の Mac Pascal リストで助けを求めたいと思うかもしれません。

于 2009-11-20T13:52:05.367 に答える