Web関連機能プラグインの不具合

投稿者:twin 投稿日:2017/12/29(Fri) 14:15:01 No.1412

こんにちは、お世話になっております。

「Web関連機能プラグイン」のJSON形式への書き出しにおいて、一部うまく動作しなくなっています。
整数の配列を書き出すと"System.Int32[]"となり、
値が一つの配列に配列や辞書を入れたものを書き出すとエラーが発生してしまいます。

◆動作環境情報◆
プロデル 1.5.871
Windows 7 Home Premium Edition(64)
メモリ:7.91 GB

実行例:
ーーーーーーーーーーーーーーー
「Produire.Web.dll」を利用する

配列1は、{1,2,3}
配列2は、{{1,2,3}}
Json形式として配列1を書き出したものを報告
Json形式として配列2を書き出したものを報告
ーーーーーーーーーーーーーーー

報告される内容(配列1のみ):
"System.Int32[]"

エラー内容:
プログラムの実行中にエラーが発生しました。
文法に間違えがないか、指定した値が正しいか、確認してください。

文法や使い方が正しいにもかかわらず、このエラーが表示される場合は、不具合の可能性があります。

発生した例外:
System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。

場所 Produire.RuntimeModel.配列.ToManagedValue(Type managedType, Object& result)

場所 Produire.PConverter.ToManagedValue(IProduireValue value, Type managedType)

場所 Produire.15.3(実補語定義 1)

場所 Produire.15.2(外部手順定義 0)

場所 Produire.TypeModel.PTypePlugin.10(IProduireValue 0, ICallSite 1, 15 2)

場所 Produire.Model.StaticCallExpression.Invoke(IPrototypeExpression protoExpr, 8 scope)

場所 Produire.ScriptEngine.108(IPhrase 0, IProduireValue& 1, 8 2)

[エラー番号901] [はじめ:6行目]

修正しました

投稿者:ゆうと 投稿日:2017/12/29(Fri) 20:41:02 No.1413

twin様こんにちは

整数の配列を正しくJSON形式へ変換できない問題確認できました。
プラグインを修正しましたので、ご確認ください。
https://rdr.utopiat.net/files/plugins.html

ご指摘頂きありがとうございます。

Re: 修正しました

投稿者:twin 投稿日:2017/12/30(Sat) 00:27:41 No.1414

修正ありがとうございます、整数の配列を変換できることを確認できました。

後者の「配列に配列や辞書のみを入れた場合にエラーが発生する」現象も確認をしていただけると助かります。(エラー内容は以前のレスに書き込んだものです)
いろいろ試してみた感じでは、配列に数値などのみを初期値として入れ、そこに配列や辞書を追加または代入した場合に「配列を○○へ変換できませんでした。」というエラーが発生したので、配列の(プロデル上から見えない内部の)形式と変換時の処理がうまく噛み合っていない(?)ような気がします。

プログラム例:
ーーーーーーーーーーーーーーー
「Produire.Web.dll」を利用する
配列1は、{1、2、3}
配列1(2)は、{「バナナ」、「りんご」}
配列1(3)は、{「マグロ」、「カツオ」}
JSON形式として配列1を書き出したものを報告
ーーーーーーーーーーーーーーー

エラー内容:
配列を整数へ変換できませんでした。

[エラー番号900] [はじめ:5行目]

修正しました

投稿者:ゆうと 投稿日:2017/12/31(Sun) 18:02:00 No.1415

こんばんは。ご確認ありがとうございます。

> 後者の「配列に配列や辞書のみを入れた場合にエラーが発生する」現象も確認をしていただけると助かります。(エラー内容は以前のレスに書き込んだものです)

見落としておりました。
こちらについては、プロデルの型推論機能の不具合でしたので修正しました。

プロデルの型の処理については最近手を加えておりますので、「JSON形式」種類の公開当時と挙動が食い違っているかもしれません。再度確認してみます。

他に気がかりなことがございましたら、遠慮無くご指摘頂ければ幸いです。
宜しくお願い致します。

▲ページの先頭へ

- WebForum -