2021年12月28日

SPIKE プログラムダウンロード時に「問題が発生しました。」と表示される場合について(プログラム内に存在するマイブロックの削除について)

SPIKEソフトウェア上で「削除済みマイブロックがプログラム内に存在していると、プログラムがラージハブにダウンロードできなくなる」という事象が発生しています。
本事象はマイブロックを削除する際にDeleteキーで定義ブロックを削除するとプログラム上のマイブロックは消えないため手作業で削除を行わないとプログラムをラージハブにダウンロードできないというものです。

マイブロックの定義ブロック
マイブロックの定義ブロック

SPIKEソフトウェアではブロックの削除方法は3種類あります。

① 削除したいブロックを左クリックしDeleteキーで削除する方法(非推奨)
② 削除したいブロックを画面左側のブロック一覧へドラッグ&ドロップする方法
③ 削除したいブロック上で右クリックし表示されるメニューから「ブロックを削除」を選ぶ方法

この内「① 削除したいブロックをクリックしDeleteキーで削除する方法」で定義ブロックを削除した状態でプログラム上のマイブロックが残っているとプログラムをラージハブにダウンロードできません。 それぞれ3パターンで定義ブロックを削除しようとすると、どの様になるのか以下に示します。 (2021/12/24現在 最新バージョンのSPIKEソフトウェア2.0.4で実施しています。)

例①ブロックを左クリックしDeleteキーで削除する方法で定義ブロックを削除しようとした場合

  1. 以下のような「motor1」、「motor2」の2つのマイブロックを使用しているプログラムで、プログラム内に「motor2」ブロックが残っている状態で「motor2」の定義ブロックをDeleteキーで削除しようとします。

    例①-1
  2. 定義ブロックは削除されましたが、プログラム内に「motor2」ブロックが残っている状態になってしまいました。
    この状態でラージハブにプログラムをダウンロードしようとすると「問題が発生しました。」と表示されダウンロードすることができないので注意してください。

    例①-2

例②削除したいブロックを画面左側のブロック一覧へドラッグ&ドロップする方法で定義ブロックを削除しようとした場合

  1. プログラム内に「motor2」ブロックが残っている状態で、「motor2」の定義ブロックを左側のブロック一覧へドラッグ&ドロップして削除しようとします。

    例②-1
  2. プログラム内に「motor2」ブロックが残っている状態でドラッグ&ドロップする方法で定義ブロックを削除しようとすると、警告ウィンドウが表示され定義ブロックを削除することができません。この警告は「定義ブロックを削除する場合、先にプログラム内に残っているマイブロックを削除してください」という内容です。

    例②-2
  3. 先にプログラム内にある「motor2」ブロックを削除してから、定義ブロックを削除することでマイブロックを削除することができます。

    例②-3

例③削除したいブロック上で右クリックし表示されるメニューから「ブロックを削除」を選ぶ方法

  1. プログラム内に「motor2」ブロックが残っている状態で、「motor2」の定義ブロックを左側のブロック一覧へドラッグ&ドロップして削除しようとします。

    例③-1
  2. プログラム内に「motor2」ブロックが残っている状態で、「motor2」の定義ブロックを右クリックして表示されるメニューから「ブロックを削除」を選択して削除しようとします。

    例③-2
  3. 先にプログラム内にある「motor2」ブロックを削除してから、定義ブロックを削除することでマイブロックを削除することができます。

    例③-3

このように②③の方法で定義ブロックを削除しようとすると警告ウィンドウが表示され、プログラム内にマイブロックが残っていることがわかりますが、①の方法では定義ブロックが削除できてしまい、そのままプログラムをダウンロードしようとすると「問題が発生しました」と表示され正常にダウンロードすることができません。
そのため、定義ブロック及びその他のブロックを削除する場合は、Deleteキーを利用するのではなく右クリックのメニューから削除するか、ドラッグ&ドロップで左側の一覧まで運んで削除することを推奨します。

2021/12/24現在 最新バージョンのSPIKEアプリに基づく情報です。
※これらの仕様はアプリのアップデートによって変更される場合があります。

(2021/12/24現在)