種類の「取得する手順」が動かない

投稿者:にぽ 投稿日:2019/11/25(Mon) 13:20:18 No.1847

こんにちは,大量投稿失礼致します。

種類の取得する手順がコンパイルすると動きません。

----
あといういを作る。
あのうは,「あああ」
あのうを表示。

いとは
  −中身
  はじめの手順
  
  終わり
  うを取得する手順
    中身を返す。
  終わり
  うを設定する手順
    中身は,設定値。
  終わり
終わり
----

エラー
----
ハンドルされていない例外: System.InvalidCastException: 型 'System.String' のオブジェクトを型 'Produire.IProduireValue' にキャストできません。
場所 test_debug.GlobalClass.RunCode()
場所 test_debug.MainClass.Main()
----

よろしくお願いいたします。

辞書の見出しをそれぞれ繰り返せない

投稿者:にぽ 投稿日:2019/11/25(Mon) 13:14:52 No.1846

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

以下のプログラムが,コンパイル済みコンソールアプリでエラーです。
----
あは,{山=1,川=2,里=3}。
あの見出しを【キー】へそれぞれ繰り返す
  キーを表示。
繰り返し終わり
----

----
ハンドルされていない例外: System.InvalidCastException: 型 'Produire.4' のオブジェクトを型 'Produire.IScope' にキャストできません。
場所 表示(Object , Object[] )
場所 Produire.TypeModel.外部手順定義.Call(Object baseObject, Object[] args)
場所 Produire.ConstructScopeIL.Invoke(Object targetObject, String verbName, String[] names, String[] particles, Object[] arguments, Boolean isPartial, Object lastValue)
場所 test_debug.GlobalClass.RunCode()
場所 test_debug.MainClass.Main()
----

よろしくお願いいたします。

固定長配列の並び替え

投稿者:にぽ 投稿日:2019/11/25(Mon) 12:59:34 No.1845

こんにちは。いつもお世話になっております。

固定長配列の並び替えが,コンパイル済みでうまく動きません。
----
【あ:整数の配列(5)】は,固定長配列(5)を作ったもの。
あは,{3,2,6,4,1}。
あを大きい順に並び替える。
あを表示。
----
「{3,2,6,4,1}」が表示されます。

通常の配列では問題ありません。

よろしくお願いいたします。

「起動する」が使えない件は修正しました

投稿者:ゆうと 投稿日:2019/11/25(Mon) 01:42:24 No.1844

にぽさん、こんにちは ゆうとです。
お世話になっております。

コンパイル済みで「起動」手順が実行できない件については
1.6.981で修正しました。
定数値を省略できる手順でこの現象が発生していました。

ご指摘ありがとうございます。ご確認下さい。
この際ですので、他にも何かございましたら集中的に直していきたいと思います。
よろしくお願いします。

修正しました

投稿者:ゆうと 投稿日:2019/11/25(Mon) 01:38:54 No.1843

アークさん、こんにちは ゆうとです。

コンパイル済み実行可能ファイル上での動作についても修正致しました。
1.6.981で修正済みです。

ご確認下さい。
ご指摘ありがとうございます。

Re: キューがエラーになります

投稿者:アーク <info.nds.laboratry あっとまーくgmail.com> 投稿日:2019/11/23(Sat) 10:12:06 No.1842

おはようございます。アークです。

最新の1.6.980ではコンパイル済の実行ファイル変換時にエラーは出なくなりました。
しかし、起動しても何も表示されません。
タスクマネージャーで観てみると一瞬起動しますが直ぐに終了しているようです。
根が深そうです。

Re: コンパイル済みで「起動する」が使えない

投稿者:にぽ 投稿日:2019/11/22(Fri) 21:24:03 No.1841

こんにちは。いつもすみません。

同じ系統のエラーだと思われますので,こちらに書かせて頂きます。
いずれも,デザイナー上では動作しますが,コンパイル済みコンソールアプリでエラーが出ます。

○匿名関数を用いたソート
コード
----
人口は,{日本=127000000,米国=327000000,中国=1386000000}。
国名は,人口の見出し。
国名を『
  それを{左,右}とみなす。
  もし人口(左)>人口(右)なら,-1を返す。
  他でもし人口(左)<人口(右)なら,1を返す。
  そうでなければ0を返す。
』で並び替える。
国名を表示。
----

エラー
----
ハンドルされていない例外: System.InvalidOperationException: 配列にある 2 つの要素を比較できませんでした。 ---> System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。
場所 Produire.RdrCustomComparer`1.Compare(T x, T y)
場所 System.Collections.Generic.ArraySortHelper`1.SwapIfGreater(T[] keys, IComparer`1 comparer, Int32 a, Int32 b)
場所 System.Collections.Generic.ArraySortHelper`1.DepthLimitedQuickSort(T[] keys, Int32 left, Int32 right, IComparer`1 comparer, Int32 depthLimit)
場所 System.Collections.Generic.ArraySortHelper`1.Sort(T[] keys, Int32 index, Int32 length, IComparer`1 comparer)
--- 内部例外スタック トレースの終わり ---
場所 System.Collections.Generic.ArraySortHelper`1.Sort(T[] keys, Int32 index, Int32 length, IComparer`1 comparer)
場所 System.Array.Sort[T](T[] array, Int32 index, Int32 length, IComparer`1 comparer)
場所 System.Collections.Generic.List`1.Sort(Int32 index, Int32 count, IComparer`1 comparer)
場所 辞書ソート.GlobalClass.RunCode()
場所 辞書ソート.MainClass.Main()
----

○スレッドで匿名関数の実行
コード
----
あというスレッドを作る。
あで『「い」を表示。』を実行する。
----

エラー
----
ハンドルされていない例外: System.ArgumentNullException: 値を Null にすることはできません。
パラメーター名:key
場所 System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
場所 System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
場所 Produire.TypeModel.PluginManager.ConvertType(Type type, Boolean isFixed)
場所 Produire.4.GetParameterType(IParticleComplement complement)
場所 Produire.TypeModel.実補語定義.Match(IProcedurePrototype prototype, PType receiverType, Boolean dontSayLazy, Int32& rank)
場所 Produire.TypeModel.手順定義.2(IProcedurePrototype 0, PType 1, Boolean 2, Int32& 3)
場所 Produire.TypeModel.OverloadCollection.7(IProcedurePrototype 0, 手順定義& 1)
場所 Produire.ConstructScopeIL.Invoke(Object targetObject, String verbName, String[] names, String[] particles, Object[] arguments, Boolean isPartial, Object lastValue)
場所 test_debug.GlobalClass.RunCode()
場所 test_debug.MainClass.Main()
----

◆動作環境情報◆
プロデル 1.6.980
Windows 10(64)
メモリ:47.8 GB


よろしくお願いいたします。

コンパイル済みで「起動する」が使えない

投稿者:にぽ 投稿日:2019/11/21(Thu) 22:32:12 No.1840

こんにちは。度々失礼致します。

コンパイル済みコンソールアプリで「起動する」が動きません。

----
「notepad.exe」を起動する。
----

エラー
----
ハンドルされていない例外: System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。
場所 起動(Object , Object[] )
場所 Produire.TypeModel.外部手順定義.Call(Object baseObject, Object[] args)
場所 Produire.ConstructScopeIL.Invoke(Object targetObject, String verbName, String[] names, String[] particles, Object[] arguments, Boolean isPartial, Object lastValue)
場所 test_debug.GlobalClass.RunCode()
場所 test_debug.MainClass.Main()
----

※デザイナ上では動きますので,notepad.exeがないということはありません。

デコンパイルした内容
----
public void RunCode()
{
  //IL_0029: Unknown result type (might be due to invalid IL or missing references)
  object[] array = new object[1]
  {
    "notepad.exe"
  };
  object obj = _scope.Invoke((object)null, "起動", (string[])null, ParticleFields.を, array);
  _ = (プロセス)obj;
}
----

よろしくお願いいたします。

Re: 確認しました

投稿者:にぽ 投稿日:2019/11/21(Thu) 01:14:49 No.1839

修正を確認致しました。
ご対応ありがとうございます。

Re: 修正確認しました

投稿者:にぽ 投稿日:2019/11/21(Thu) 01:13:41 No.1838

確認致しました。
ありがとうございます。

▲ページの先頭へ

- WebForum -