投稿者:天網 投稿日:2024/11/23(Sat) 22:15:21 No.2433
お世話になっております。
列挙値の内容や値を得ようとすると下記のエラーが発生します。
こちらで試した範囲では 2.0.1271 以前のバージョンは問題ありませんでしたが 2.0.1275 〜 2.0.1286 のバージョンでエラーが発生しました。
*エラーの起きるコードの例
i=「質問文」をはいといいえで質問したもの内容
j=「テキスト.txt」からファイル属性を取得したものの値
------------------------------------------------------
エラーが発生しました。
指定した値が正しいか、文法や使い方に誤りがないか、ご確認ください。
発生した例外:
オブジェクト参照がオブジェクト インスタンスに設定されていません。
メッセージから思い当たる原因が分からない時は、掲示板へフィードバックをお願いします。
[エラー番号901] [はじめ:1行目]
プロデル 2.0.1286 (64)
------------------------------------------------------
また、別件になるのですが「条件判断文(もし文)」で「もし」を文頭に使わない文法で書いた場合に全角半角問わず「=」が使われていると構文エラーが発生する場合があります。
こちらも 2.0.1271 以前のバージョンでは問題ありませんでした。
お手数かと思いますが、よろしくお願いいたします。
◆動作環境情報◆
プロデル 2.0.1286
Windows 10 Pro 64ビット
メモリ:31.9 GB
投稿者:Knight 投稿日:2024/11/24(Sun) 13:10:40 No.2434
> 列挙値の内容や値を得ようとすると下記のエラーが発生します。
> こちらで試した範囲では 2.0.1271 以前のバージョンは問題ありませんでしたが 2.0.1275 〜 2.0.1286 のバージョンでエラーが発生しました。
私も、以前のバージョンで問題なく動いていたプログラムが 2.0.1275 以降でエラーが発生するようになって困ったことがありました。
ある意味、以前のバージョンでは、プログラムを融通を効かして判断処理してくれていた部分が、2.0.1275以降では解釈が厳密になったのかなと感じています。
>*エラーの起きるコードの例
>(1)i=「質問文」をはいといいえで質問したものの内容
>(2)j=「テキスト.txt」からファイル属性を取得したものの値
(1)は、
i=「質問文」をはいといいえで質問したもの
あるいは、
「質問文」をはいといいえで質問してiとする
(2)は、
j=「テキスト.txt」からファイル属性を取得したもの
あるいは、
「テキスト.txt」からファイル属性を取得してjとする
とすればエラーは出ません。
「〜の内容」とか、「〜の値」という表現は、私個人的にはオブジェクトの設定項目として、「内容」や「値」が存在する場合にだけ使用しています。「〜の内容」とか、「〜の値」の使い方に注意してみてください。
>「条件判断文(もし文)」で「もし」を文頭に使わない文法で書いた場合に全角半角問わず「=」が使われていると構文エラーが発生する場合があります。
文頭に「もし」を配置した場合には、「=」は比較式として解釈されるのですが、「もし」がない場合には、代入文として解釈されてしまう可能性があるのではないでしょうか?
私は、「もし」を文頭に配置した場合には、比較式内に「=」を使用しますが、「もし」を配置しない場合には、プロデルが代入文と解釈するのか比較式と解釈するかを迷わないように、代入文の場合には、「=」ではなくで、明示的に
代入文の形式「〇〇は、××」で書くようにしています。
「=」を使用する場合には、その表現が「比較式」なのか「代入文」なのかを意識しながら記述すればエラーが少なくならないでしょうか?
投稿者:天網 投稿日:2024/12/05(Thu) 17:06:34 No.2437
返信が遅くなりましたが、ありがとうございます。
質問の主旨としては「これって不具合ですか?それとも仕様変更ですか?」であって
「どうやったら動きますか?」を質問したかったわけではないので、お手数を取らせてしまってすいません。
投稿者:Knight 投稿日:2024/12/05(Thu) 20:13:46 No.2438
こんばんは、天網さん
> 質問の主旨としては「これって不具合ですか?それとも仕様変更ですか?」であって 「どうやったら動きますか?」を質問したかったわけではない
ゆうと様からの返信がないので確実性はないですが、個人的には「仕様変更」なのだろうと考えています。
「どうやったら動くか」を検討してみると、詳細な仕様が見えてくる気がしています。実際のところ、詳細な仕様はマニュアルにも記載されていないですよね?
自分が書いたプログラムが突然動かなくなると「プロデルの不具合」と思いがちですが、今までは「方言も解釈していたけど、やはり標準語を使ってね」というのは、プロデル標準語を主幹する立場の「ゆうと」さまとしては、当然のことなのかなと思います。
プロデルでプログラムする上で「どうやったら動くか」を検討してみるのは、常に必要なことかなと考えています。今の自分は、「あれこれやってみてダメなら質問してみる」というスタンスです。
投稿者:ゆうと 投稿日:2024/12/06(Fri) 00:25:03 No.2440
お世話になっております。
基本的には、以前動いていたプログラムがバージョンアップして動かなくなってしまった際には
フィードバックをお願いします。
やむを得ずプログラムに影響がある仕様変更がある時には、X(Twitter)や公式ブログにその都度記載しています。(断りなく仕様変更することはありません)
バージョンアップで仕様変更と思われてしまう変更のほとんどは、意図せず仕様が変わってしまったケースです。
公開前にテストを実施していますが、それでも、掲示板でフィードバックがあるまで、当方で仕様が変わったことを認識できていない事がほとんどです。
また、当初はプロデルの構文チェックが緩かったこともあり、構文の誤りにうるさくなかった反面、逆にプログラムの誤りが見つけづらいこともありました。
そのため、最近では仕様変更とならない範囲で、エラーのチェックや構文解析をより厳密に正す方向で改修しています。
特に不評でした1.6/1.7あたりでは、その改修を行っていました。
フィードバックを頂けると「方言」も含めて、仕様の検討ができますので、
ご面倒でも、ぜひ報告をお願いします。
投稿者:ゆうと 投稿日:2024/12/06(Fri) 00:05:41 No.2439
お世話になっております。
多忙のためお返事ができていませんでした。
> 列挙値の内容や値を得ようとすると下記のエラーが発生します。
> こちらで試した範囲では 2.0.1271 以前のバージョンは問題ありませんでしたが 2.0.1275 〜 2.0.1286 のバージョンでエラーが発生しました。
フィードバックありがとうございます。
状況再現できました。
こちらは改良時に生じたバグですので、最新版1.9で修正反映済みです。
> また、別件になるのですが「条件判断文(もし文)」で「もし」を文頭に使わない文法で書いた場合に全角半角問わず「=」が使われていると構文エラーが発生する場合があります。
こちらも再現できましたが修正に時間が掛かりそうですので
お待ちください。
ご指摘ありがとうございます。
投稿者:天網 投稿日:2024/12/08(Sun) 20:16:47 No.2441
ご多忙中のところありがとうございます。
当方も返信が遅れることがありますのでお気になさらないでください。
本件「列挙値の内容と値」のバグの修正がされているのを 1.9.1289、1.9.1290、2.0.1289 で確認しました。
また「条件判断文(もし文)」の修正に時間が掛かりそうな事も理解しました。
ありがとうございました。
投稿者:ゆうと 投稿日:2024/12/09(Mon) 23:29:45 No.2443
こんにちは
> また、別件になるのですが「条件判断文(もし文)」で「もし」を文頭に使わない文法で書いた場合に全角半角問わず「=」が使われていると構文エラーが発生する場合があります。
> こちらも 2.0.1271 以前のバージョンでは問題ありませんでした。
こちらは1.9.1290にて修正しました。
ご指摘ありがとうございます。
投稿者:天網 投稿日:2024/12/09(Mon) 00:16:26 No.2442
お世話になっております。
本件「列挙値の内容と値」に関連して「プロデルデザイナ」に不具合がありました。
発生条件は「プロデルデザイナ」を起動して「○○からファイル属性を取得する」を使用しているファイル(コード)を開いて実行するとエラー(エラー番号901)が発生します。
確認したバージョンは 1.9.1289、1.9.1290、2.0.1289 です。
この不具合はプロデルデザイナからファイルを開いて実行する時のみ発生して、エクスプローラー上でファイルを右クリックして[開く]で実行した場合または[編集]でプロデルデザイナを開いて実行した場合は問題ありませんでした。
またエラーが発生するファイルをコンパイルしても作成される実行ファイルを含めて問題は発生しませんでした。
*エラーの起きるコードの例
「テキスト.txt」からファイル属性を取得してiとする
iの値を報告する //←ここでエラー
j=「テキスト.txt」からファイル属性を取得したものの値 //←ここでエラー
jを報告する
一時的な対処法としてプロデルデザイナの[オプション]の[プログラム]にある[実行時に別プロセスで実行する]にチェックを入れることでエラーは出なくなりました。
憶測ですが「列挙値の内容と値」の修正がうまくプロデルデザイナに反映されていないようです。
投稿者:ゆうと 投稿日:2024/12/09(Mon) 23:33:21 No.2444
> 本件「列挙値の内容と値」に関連して「プロデルデザイナ」に不具合がありました。
> 発生条件は「プロデルデザイナ」を起動して「○○からファイル属性を取得する」を使用しているファイル(コード)を開いて実行するとエラー(エラー番号901)が発生します。
こちらはエラーが再現できませんでした。
> この不具合はプロデルデザイナからファイルを開いて実行する時のみ発生して、エクスプローラー上でファイルを右クリックして[開く]で実行した場合または[編集]でプロデルデザイナを開いて実行した場合は問題ありませんでした。
プロデルデザイナ上では、開き方に問わず、挙動は同じです。
また、エクスプローラー上で[開く]で実行した場合も、プロデルデザイナと同じ実行方法で実行されます。
おそらく古いバージョンのインストールが残っている可能性がありますので
一度アプリをアンインストールしてからインストールしてみてください。
投稿者:天網 投稿日:2024/12/10(Tue) 12:58:13 No.2445
お世話になっております。
>おそらく古いバージョンのインストールが残っている可能性がありますので
>一度アプリをアンインストールしてからインストールしてみてください。
結論から申し上げますと解決できました。
通常の再インストールでは改善しなかった為、困りましたが
プリフェッチの削除とPCの再起動を行い改めてインストールする事で解決しました。
お手数をお掛けしてしまいすいませんでした。
*解決した再インストールの手順
1. プロデルのアンインストールを実行する
2. 「プロデル とその関連コンポーネントをすべて削除します。よろしいですか?」で「はい」を選択する
3. 「プロデルデザイナの設定を保持しますか?」で「いいえ」を選択する
4. プロデルデザイナの古いプリフェッチの削除 ※環境によっては必要ないかも?
「C:\Windows\Prefetch」から「DESIGNER.EXE-*.pf」(* は8桁の英数字)を削除する
5. PCを再起動する
6. プロデルをインストールする
- WebForum -