水着!カムバック!の解説プログラムについて への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 ねす  (学生) 投稿日時 2010/5/11 15:23:19
IsNothingを使って解決できました!

ありがとうございました!
投稿者 水着!カムバック!の解説プログラムについて  (社会人) 投稿日時 2010/5/11 12:39:29
>るきお様

''' <summary>対象の位置にある図形をキャプチャ(捕獲)します。</summary>
    Public Sub Capture(ByVal Location As Point)

        CapturedPolygon = SerchPolygon(Location)
        
        CapturedPolygon.Capture(Location)

    End Sub

Public Function SerchPolygon(ByVal loc1 As Point) As Polygon

        For i As Integer = Me.Count - 1 To 0 Step -1

            If Me(i).IsVisible(loc1) Then
                Return Me(i)
            End If

        Next
        Return Nothing

    End Function

です。

>るしぇ様
    CapturedPolygon = SerchPolygon(Location)
        
        CapturedPolygon.Capture(Location)

の間に
If CapturedPolygon = Nothing Then
            Return
End If
など
If CapturedPolygon.IsVisible = False Then
            Return
End If

などpolygonであるnothingをif文にかける
方法がよく理解できません。
何がいけないのかは大体わかるのですが答えがわかりません。
よろしくお願いします。
投稿者 るしぇ  (社会人) 投稿日時 2010/5/11 10:00:06
完全版ということで、
ObjectiveGraphicsPath.lzh
で確認しました。

図形以外のところをクリックすると、[駒を探す]関数で見つからないため、Nothing
を返すのに、呼び出し元(PolygonCollection.Capture)でエラー判定無く、
Capture メソッドを呼んでいるので、Nothing.Capture となって
「オブジェクト参照がオブジェクト インスタンスに設定されていません。」
のエラーになってますね。

単純に Nothing が返ってきたら処理を抜ければいいと思います。
投稿者 るきお  (社会人) 投稿日時 2010/5/10 23:58:14
こんにちは。

どの行でなんというエラーが出ますか?
エラーが発生する行をまるごと貼りつけて、
そのときのエラーメッセージもそっくりそのまま貼りつけてください。

また、エラーを発生させるために特定の操作が必要でしょうか?

後はエラーが出る環境のWinodwsのバージョンなど関係がありそうな環境情報を教えてください。

または、同じように水着!カムバック!でエラーを体験した方がいましたら情報提供をお願いします。
投稿者 ねす  (学生) 投稿日時 2010/5/10 17:11:40
はじめまして。
大学の授業でVBを扱っています。

質問なのですが題名にもあるとおり水着!カムバック!の解説プログラムについて
終盤に完全版がありましたのでダウンロードしましたが
図形以外のところをクリックすると
polygoncollectionのcaptureルーチンで
エラーが出ます。
なんとか自力で解決しようとしましたが無理だったので今回質問
さしていただきました。よろしくお願いします。