質問

既出でしたら申し訳ありません。
プログラムについて質問なのですが、どうしても以下のコードでエラーになってしまいます。

public sub main()

  dim Ore as new Human()
  dim Friends as Human.Collection()

  for age as int32 = 1 to Human.MaxAge

    if age < 15 then

      Friends.add(Ore.getFriend())

    end if

    if age > 15 then

      For each Friend as Human In Friends 

        if Friend.Sex = Human.Types.Woman then

          if Ore.Tel(Friend, Talk.Goukon) = Result.OK then

            Ore.GetKanojo(Friend.tokodachi) ' ←ここで落ちる

            MessageBox.Show("きたーーーーーーーーーーーーーー")

            Ore.Mand = MandType.Happy

          end if

          if Friend.Update(UpdateType.Kanojo) = Result.OK then

            Ore.GetKanojo(Friend) ' ←ここで落ちる

            MessageBox.Show("きたーーーーーーーーーーーーーー")

            Ore.Mand = MandType.Happy

          end if

        end if

        if Ore.BirthDay = Today Andalso Ore.IsAlone() then

          Ore.Dispose()

        end if

      next

    end if

  next age

end sub

上記ソースで質問です。

  • Oreオブジェクトの、GetKanojoメソッドを実行すると、必ずと言っていいほど

Null彼女Exceptionで落ちてしまいます。
全く原因がわからないのですが、何か前処理が必要なのでしょうか?
 

  • 上記のGetKanojoメソッドですが、Humanオブジェクトのageプロパティが35を越えると、

OSに影響する深刻なエラーが発生すると聞いたのですが、
どなたか実際にこの現象を起こされた方はいらっしゃいますでしょうか?
 

  • HumanオブジェクトのIsAloneプロパティがTrueしか返さないように思われるのですが、

ご存知の方はいらっしゃいますか?仕様ですか?
 
以上3点、宜しくお願いいたします。