[
新規
] - [
ツリー
] - [
スレッド
] [
未解決
] [
緊急
] - [
優先
] - [
検索
] - [
なでしこTOP
]
「なでしこv1」開発掲示板
なでしこv1のバグや要望を書き込む掲示板
→
書き込み(
#2041
)を編集する:
名前
タイトル
本文
【症状】グループ内関数(Method)をの呼び出しに「→」を使用して、その関数が「戻る」で終わらせた場合、関数呼び出しを1段多く戻る。 【再現方法】 以下を実行すると、「う」が表示されません。あ→いの中の戻るにて関数うからも抜けてしまいます。 ■あ ・い~ 「い」と表示 戻る えとはあ ●う え→い 「う」と表示 う 【要望】普通に。 【バージョン】1.53352 【その他】 上記再現ソースのうち、「 え→い」を、「 え→い()」にすると回避可能。→ではなく「えのい」と普通に呼び出すても正常。構文から関数と判断できないケースでうまく行かない模様。 himaparser.pasの4988あたりを、以下のようにすると治るものの、他への影響が心配(現在は、MethodのメンバーのNodeそのものが返る。この変更を行うと、Methodを引数なしで指定して「メソッドの参照」のようなことができなくなる。) svLinkGroup: begin group := Result; //if group = nil then Break;//敢えてエラーを出した方がシンプル FGroupScope := hi_group(group); Result := hi_group(group).FindMember(pe.groupMember); //--- 関数の場合がある if Result.VType = varFunc then begin Result := HiSystem.RunGroupMethod(group, Result, pe.Stack); end else begin if pe.Stack <> nil then raise HException.Create('『'+hi_id2tango(pe.groupMember)+'』は関数ではないのに引数があります。'); end; //--- pe := pe.NextElement; end;
優先度
低
中
高
緊急
状態
未処理
詳細求む!
調査中
議論中
修正中
確認待ち
再修正依頼
解決
---
重複
---
アイデア
感想
告知
感謝
確認キー
👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。
編集キー
編集時に使うキーを入力(省略可能)
添付ファイル
🎁
ファイルを選択...
画像ファイル(最大300KB)を添付可能