NullReferenceException

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

NullReferenceException

Сообщение DimaJoke 08 ноя 2018, 16:02

всем привет. я продолжаю писать консоль... добавляю команды.

делаю команду "color"
но вылазит эта бяка NullReferenceException: Object reference not set to an instance of an object
ConsoleCommands.Update () (at Assets/Scripts/GameConsole/Core/ConsoleCommands.cs:29)

вот скрипт команд
Синтаксис:
Используется csharp
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class ConsoleCommands : MonoBehaviour {
public static string Commands;
public string Test = Commands;
public string[] Command;

public Color[] TextColors;

void Update()
{
if(Commands != null)
{
Command  = Commands.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

if(Command[0] == "Clear" || Command[0] == "clear")
{
GameConsole.Clear();
}

if(Command[0] == "Color" || Command[0] == "color")
{
if(Command[1] == "red" || Command[1] == "Red")
{
GameConsoleSetup.GCS.ConsoleTxt.GetComponent<Text>().color = TextColors[0];
}

}
Commands = null;
}



}

}
 


вот скрипт GameConsoleSetup, к которому привязан текст
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;


public class GameConsoleSetup : MonoBehaviour {

public Text ConsoleTxt;
public InputField ConsoleInput;

public KeyCode Enter;
public static GameConsoleSetup GCS;
       
        void Update()
        {
        ConsoleTxt.GetComponent<Text>().text = GameConsole.ConsoleText;
        if(Input.GetKeyDown(KeyCode.Return))
        {
        ConsoleCommands.Commands = ConsoleInput.GetComponent<InputField>().text;
        ConsoleInput.GetComponent<InputField>().text = null;

        }
        }

}

 


Вот и всё.. Не понимаю, какой объект он не находит :-?
KartonCreations
Аватара пользователя
DimaJoke
UNIт
 
Сообщения: 127
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
Skype: dima34586
  • Сайт

Re: NullReferenceException

Сообщение DimaJoke 08 ноя 2018, 16:14

я не понял сразу.. я в скрипте GameConsoleSetup не инициализировал GCS
KartonCreations
Аватара пользователя
DimaJoke
UNIт
 
Сообщения: 127
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
Skype: dima34586
  • Сайт

Re: NullReferenceException

Сообщение Saltant 08 ноя 2018, 16:16

Он же тебе говорит что в 29 строке проблема.
Аватара пользователя
Saltant
UNец
 
Сообщения: 39
Зарегистрирован: 09 окт 2018, 16:40
Откуда: Химки
Skype: saltant1989
  • Сайт

Re: NullReferenceException

Сообщение DimaJoke 08 ноя 2018, 16:21

Saltant писал(а):Он же тебе говорит что в 29 строке проблема.

в том-то и дело, что я понял. но я не понял, что он не видит: класс GameConsoleSetup, или GCS, или ConsoleTxt
KartonCreations
Аватара пользователя
DimaJoke
UNIт
 
Сообщения: 127
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
Skype: dima34586
  • Сайт

Re: NullReferenceException

Сообщение Friend123 08 ноя 2018, 16:50

DimaJoke писал(а):в том-то и дело, что я понял. но я не понял, что он не видит: класс GameConsoleSetup, или GCS, или ConsoleTxt

Ваш перевод ошибки в студию! По-моему из описания ошибки всё понятно, или нет?
Аватара пользователя
Friend123
UNIверсал
 
Сообщения: 374
Зарегистрирован: 26 фев 2012, 22:12
Откуда: Тверь
  • ICQ

Re: NullReferenceException

Сообщение DimaJoke 08 ноя 2018, 16:51

Friend123 писал(а):
DimaJoke писал(а):в том-то и дело, что я понял. но я не понял, что он не видит: класс GameConsoleSetup, или GCS, или ConsoleTxt

Ваш перевод ошибки в студию! По-моему из описания ошибки всё понятно, или нет?

Нет, мне не понятно, что он не видит.. но так или иначе я решил эту проблему..
KartonCreations
Аватара пользователя
DimaJoke
UNIт
 
Сообщения: 127
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
Skype: dima34586
  • Сайт

Re: NullReferenceException

Сообщение Friend123 08 ноя 2018, 16:55

DimaJoke писал(а):Нет, мне не понятно, что он не видит.. но так или иначе я решил эту проблему..

Так если не получается сходу найти в чем проблема - всегда можно расставить брейкпоинты какие-то или просто отдебажить через Debug.Log. Сложно?
Аватара пользователя
Friend123
UNIверсал
 
Сообщения: 374
Зарегистрирован: 26 фев 2012, 22:12
Откуда: Тверь
  • ICQ

Re: NullReferenceException

Сообщение DimaJoke 08 ноя 2018, 17:02

Friend123 писал(а):
DimaJoke писал(а):Нет, мне не понятно, что он не видит.. но так или иначе я решил эту проблему..

Так если не получается сходу найти в чем проблема - всегда можно расставить брейкпоинты какие-то или просто отдебажить через Debug.Log. Сложно?

Нет, но как это помогло бы?
Я просто в моей консоли вводил "color red" и мне выкидывался лог.

А если ты предлагаешь, что писать лог при выполнении команды, то я пишу консоль, откуда все логи так же отправляются в Debug.
KartonCreations
Аватара пользователя
DimaJoke
UNIт
 
Сообщения: 127
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
Skype: dima34586
  • Сайт

Re: NullReferenceException

Сообщение Anonymyx 08 ноя 2018, 18:05

Нет, но как это помогло бы?

Брэйкпоинты+ F11 - видишь значения всех переменных.
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1897
Зарегистрирован: 05 апр 2015, 15:55

Re: NullReferenceException

Сообщение DimaJoke 08 ноя 2018, 20:39

Anonymyx писал(а):
Нет, но как это помогло бы?

Брэйкпоинты+ F11 - видишь значения всех переменных.

А в разве в MonoDevelop нельзя просто посмотреть значения?
Или анолагично в VS..
Я когда на с++ писал, использовал VS, там значения отображались..
KartonCreations
Аватара пользователя
DimaJoke
UNIт
 
Сообщения: 127
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
Skype: dima34586
  • Сайт


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: falcoware, GoGo.Ru [Bot] и гости: 9