問題タブ [dart-ffi]

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

flutter - エラー: getter 'addressOf' は、クラス 'Utf8' に対して定義されていません

要件ファイルのスクリーンショット

/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/ffi-0.1.3/lib/src/utf8.dart:63:33: エラー: ゲッター 'addressOf' が定義されていませんクラス「Utf8」の場合。

「Utf8」は「package:ffi/src/utf8.dart」からのものです (「/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/ffi-0.1.3/lib/src/utf8」 .dart')。名前を既存のゲッターの名前に修正するか、「addressOf」という名前のゲッターまたはフィールドを定義してみてください。文字列 toString() => fromUtf8(addressOf); ^^^^^^^^^^ /C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_svg-0.18.1/lib/src/picture_provider.dart:50:59: エラー: 「nullOk」という名前の名前付きパラメーターはありません。コンテキスト != null ? Localizations.localeOf(context, nullOk: true) : null, ^^^^^^ /C:/src/flutter/packages/flutter/lib/src/widgets/localizations.dart:413:17: コンテキスト: この候補が見つかりました、しかし引数が一致しません。static Locale localeOf(BuildContext context) { ^^^^^^^^ /C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.

「GUID」は「package:win32/src/structs.dart」からのものです (「/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src」 /structs.dart')。名前を既存のゲッターの名前に修正するか、「addressOf」という名前のゲッターまたはフィールドを定義してみてください。knownFolderID.addressOf、KF_FLAG_DEFAULT、NULL、pathPtrPtr); ^^^^^^^^^^ /C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:1067:7:エラー: クラス 'LOGFONT' に対して getter 'addressOf' が定義されていません。

「LOGFONT」は「package:win32/src/structs.dart」からのものです (「/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src」 /structs.dart')。名前を既存のゲッターの名前に修正するか、「addressOf」という名前のゲッターまたはフィールドを定義してみてください。addressOf.cast().elementAt(28).cast(); ^^^^^^^^^^ /C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:1112:29:エラー: クラス 'ENUMLOGFONTEX' に対して getter 'addressOf' が定義されていません。

「ENUMLOGFONTEX」は「package:win32/src/structs.dart」からのものです (「/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src」 /structs.dart')。名前を既存のゲッターの名前に修正するか、「addressOf」という名前のゲッターまたはフィールドを定義してみてください。LOGFONT get elfLogFont => addressOf.cast().ref; ^^^^^^^^^^ /C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:1114:29:エラー: クラス 'ENUMLOGFONTEX' に対して getter 'addressOf' が定義されていません。

「ENUMLOGFONTEX」は「package:win32/src/structs.dart」からのものです (「/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src」 /structs.dart')。名前を既存のゲッターの名前に修正するか、「addressOf」という名前のゲッターまたはフィールドを定義してみてください。文字列 get elfFullName => addressOf ^^^^^^^^^^

FAILURE: ビルドは例外で失敗しました。

  • どこで: スクリプト 'C:\src\flutter\packages\flutter_tools\gradle\flutter.gradle' 行: 1035

  • 問題: タスク ':app:compileFlutterBuildDebug' の実行に失敗しました。プロセス 'command 'C:\src\flutter\bin\flutter.bat'' がゼロ以外の終了値 1 で終了しました

  • 試してみてください: --stacktrace オプションを指定して実行し、スタック トレースを取得します。--info または --debug オプションを指定して実行し、より多くのログ出力を取得します。--scan を指定して実行すると、完全な洞察が得られます。

  • https://help.gradle.orgでさらにヘルプを得る

BUILD FAILED in 1m 6s 例外: Gradle タスク assembleDebug が終了コード 1 で失敗しました

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

dart - dart ffi を使用したタイプセーフなメモリ割り当て

ffi にメモリを割り当てるときに、コードをもう少し堅牢にしようとしています。

私は次の関数を書きました:

上記の関数を呼び出すには、次を使用します。

これは機能しますが、ご覧のとおり、Uint32 とsizeOf.

私が本当に書きたいのは:

問題は、ジェネリック型をどちらにも渡すことができないかcallocsizeOfエラーなしで渡すことができないことです。

[...] への型引数はコンパイル時の定数でなければなりませんが、型パラメーターは定数ではありません。型引数を定数型に変更してみてください。

この問題を回避する方法はありますか?

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

c++ - ダーツで関数ポインタからの結果にアクセスする方法

dart の c++ 関数から戻り値を取得しようとしています。

私のC ++コードは次のようなものです

ダーツから、共有ライブラリにこのネイティブ コードをロードし、そのis_alive()関数を呼び出そうとしています。

次にisAliveFuncfrom dart を呼び出し、その関数の結果が必要です。私はこれらすべての方法を試しました。これらの作品のどれも。

私はこのような結果を得る Pointer<Int8>: address=0x1

dart でこのポインタから値を取得するにはどうすればよいですか? 結果として 1 または 0 が返されることを期待しています。

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

flutter - フラッタービルドウィンドウにdllを含める方法

私は、開発中に問題なく動作するフラッター プロジェクトに取り組んでいます。ただし、FFI を使用して参照される dll をビルドに含める方法がわかりません。

それを行う方法についての明確な指示が見つかりません。

msix hereをビルドする手順に従ってみましたが、動作しましたが、dll が含まれていないようでした (通常のビルドと同じように失敗します)。

ビルド プロセスで dll を考慮する手順は何ですか?

他の dll はサード パーティのパッケージからビルド ディレクトリに表示されるので、正しい方法があるはずです。