ホーム › フォーラム › CF2.5使用法全般 › オブジェクトイベントの不具合
タグ: オブジェクトイベント
-
投稿者投稿
-
2023-04-30 10:24 am #37127shinon_参加者
お世話になります。
たぶん不具合だと思うのですが、オブジェクトイベントに関するおかしな動きをふたつ確認したので報告します。
まずひとつ
イベントをコピーペーストすると表示がおかしくなります。再現方法としてはまずプロジェクト作成してフレームをひとつ用意します。そのフレームにアクティブオブジェクトをふたつ作成します。オブジェクトの名前は「アクティブ」「アクティブ 2」とします。「アクティブ」のプロパティのイベント欄からオブジェクトイベントを新規作成し、「編集」をクリックします。オブジェクトのイベントエディタで「フレームが開始」時に「アクティブ 2」の変数Aを0にします。「アクティブ」のプロパティのイベント欄から今作成したオブジェクトイベントを右クリック→コピーで丸ごとイベントコピーします。次に「アクティブ 2」のプロパティからイベント欄で先ほどコピーしたイベントを丸ごと貼り付けます。貼り付けたイベントを「編集」クリックで確認しようとするとオブジェクトが赤色のエラーのような表示になります。イベントエディタをいったん閉じてからもう一度開くと正常な表示に戻ります。ふたつ
オブジェクトイベント表示中にソフトがフリーズするか落ちます。再現方法としてはまずプロジェクト作成してフレームをひとつ用意します。そのフレームにアクティブオブジェクトをひとつ作成します。作成したオブジェクトのプロパティのイベント欄からオブジェクトイベントを新規作成し、「編集」をクリックします。オブジェクトのイベントエディタが開くので開いた状態でフレームを削除します。オブジェクトのイベントエディタが開いた状態のままフレームをまた新規作成し、ワークスペースツールバー内にあるその新たなフレームをダブルクリックで編集しようとするとソフトが落ちるかフリーズします。2023-05-02 1:28 am #37128ASDキーマスターおそらくどちらも「仕様に近い不具合」と考えられます。
前者の方ですが、、まず、グローバルイベント・オブジェクトイベントの仕様として「参照するオブジェクトは”名前と種類”で判断している」というものがあります。つまり、名前と種類が同じであれば、コピー元のエディタで参照したオブジェクトとは別のオブジェクトであっても、ペースト先のエディタではそのオブジェクトが指定されてしまう、ということです。
おそらくですが、その参照オブジェクトの判定が行われるタイミングはエディタを開いた時(か閉じた時)なのだと思われます。ですので、プロパティ経由でコピーされたオブジェクトイベントを開く初回にはオブジェクトの割り当てが行われておらず、バッドオブジェクトのアイコンになるのだと思われます(推測です)。ご案内の通り、一度エディタを開閉すれば、割り当てが行われますので、それで対応してください。もしくは、エディタ内でコピーしてペーストすれば、その時点で割り当てが行われますので、そちらでもよろしいかと存じます(但し、一度に大量のイベントをコピーするとメモリの問題が発生するかもしれません)。後者の方ですが、フレームを削除して、存在しないオブジェクトのエディタが開かれているのですから、クラッシュするというのは理屈上は分かります。フレームイベントの場合はフレームを削除すると、エディタも自動的に閉じるので、オブジェクトイベントの場合もそうなるべきなのでしょうが、多分オブジェクトイベントには「そのオブジェクトがどのフレームに存在しているのか」という情報が無いのだと思われます(先に説明した通り”名前と種類”だけで判断しているため)。
将来的に改善されるかどうかは分かりませんが、どちらにしても当面はそのような操作をされないようご注意願います(前者の方は一度開閉すれば戻るようなので、大丈夫だと思います。)。
2023-05-02 11:49 pm #37129shinon_参加者ASDさん
回答ありがとうございます。
ひとつ目の方は割と遭遇しそうな不具合ですがおっしゃる通り一度開閉すれば戻るので実用上はそこまで問題にはならない感じはしています。ふたつ目は割と致命的ですがこういう変わった操作をすることはほぼないと思うのでまぁたぶんこれも大丈夫かな……おそらく……という感じです。ソフトが落ちると言えばプロジェクトサイズがギガバイトレベルになるとちょこちょこソフトが落ちることがあったのですが、再現条件を探ったものの結局よくわからず仕舞いでした。今は3GB近くあったプロジェクトをそぎ落として200MBになって落ちることはなくなったので単にプロジェクトサイズが大きすぎて不安定になっていただけかもしれません。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。