1

私はMacOSX10.7を使用していますが、これは10.8以降にも表示されると思います

(erlang内で)実行してみてください

wx:demo().

これにより、次の出力が生成されます。

beam.smp [2733:f0b] CFURLCreateWithStringに次の無効なURL文字列が渡されました:'/System/Library/CoreServices/CommonCocoaPanels.bundle'(URL文字列ではなくファイルシステムパス)。作成されたURLは、ほとんどのファイルURL関数では機能しません。代わりに、CFURLCreateWithFileSystemPathまたはCFURLCreateWithFileSystemPathRelativeToBaseを使用する必要があります。

これでデモは問題なく実行されますが、なぜこの行を出力するのでしょうか。

それはerlangについて何も話しません、そして、いくつかのブラウジングの後、人々がpythonで同じ問題を抱えているので、これはwxWidgetsのバグであり、出力のCommonCocoaPanels.bundleのためにMacOSX中心であるように見えます。

すべてがうまく動作するので、今のところ本当に迷惑です。しかし、それはおそらくバグですよね?

どうすれば修正できますか?

4

3 に答える 3

0

私の知る限り、wxErlangは現在MacOSで壊れており、メンテナはwxWidgets3.0のリリース後に修正することを約束しています。

于 2012-12-31T07:56:19.790 に答える
0

どのバージョンwxWidgetsを使用していますか?私は、でカスタムビルドを使用wxWidgets 2.8.12しました。Mac OS 10.6.8Carbon-arch i386

wxWidgets 2.8.xでは、Carbonの方が安定しているため、推奨されるライブラリです。CocoaはwxWidgets2.8.xでは不完全です。Cocoaの使用に興味がある場合は、Cocoaがはるかに完全なwxWidgets2.9.xから始める必要があります。

フレームワーク自体は(おそらくCarbonのせいで)Max OSとはどういうわけか異質に見え、APIのごく一部が壊れていました(これはプログラムの実際の実行を妨げるものではなく、ほんの少しの煩わしさです)。

于 2013-01-01T00:31:20.070 に答える
0

私の将来の参考のために、そして他の人のそれのために。

以下は、上記のエラーメッセージを表示せずに機能します。

P = wx:new(),
F = wxFrame:new(P, 1, "main", [{size, {600,600}]),

WindowOpts = [{size, {600,600}}, {style, ?wxSUNKEN_BORDER}],
W = wxWindow:new(F, ?wxID_ANY, WindowOpts),

wxFrame:connect(F, close_window, [{skip,true}]),
wxWindow:connect(W, paint, [{skip, true}]),
wxFrame:show(F),
wxFrame:centre(F).

不思議なことに、すべての試行錯誤のデバッグを1行ずつ行っても、その根底に到達する簡単な方法はありません。それは以下を含むことが判明しました:

process_flag(trap_errors、true)

そのエラーを生成します。私は、旗の行動を引き起こすようなクラッシュは何もないと確信しています。

深いエラー。影響はほとんどありません。

3.0のアップグレードとともに修正されることを期待しましょう。

于 2013-01-06T05:55:06.653 に答える