Выполнение действия CSharp OwnCode Ссылка на объект не указывает на экземпляр объекта.

Tronheym

Client
Регистрация
13.10.2016
Сообщения
145
Благодарностей
28
Баллы
28
Выскакивает ошибка в ЗенноПостере:

Выполнение действия CSharp OwnCode Ссылка на объект не указывает на экземпляр объекта.

При этом в Проджект мейкере все норм работает..

Код C#:


Что я сделал не так?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 614
Благодарностей
4 602
Баллы
113
список пустой. А ретурн нул выбивает ошибку в итоге.
напиши не =null, а =""
 
  • Спасибо
Реакции: ильяsffse и Tronheym

Tronheym

Client
Регистрация
13.10.2016
Сообщения
145
Благодарностей
28
Баллы
28

Андрес

Client
Регистрация
26.03.2017
Сообщения
46
Благодарностей
1
Баллы
8
У меня получается в пошаговом выполнении код выполняется, а в прогонке выдает ошибку:
Выполнение действия CSharp OwnCode. No such variable: Variable.Schet_strok
Хотя переменная задана.
Подскажите, в чем загвоздка.

C#:
// берем из переменной текст, который надо искать
var table = project.Tables["Результат"];
// получаем таблицу, в которой будем искать
var tab_vrem = project.Tables["Tab_vrem"];
  // пролучаем текст переменной строка таблицы
int stroka = Convert.ToInt32(project.Variables["Schet_strok"].Value);  //Тут ошибку выдает
  //получаем переменную результат харрактеристики
int n_strok2 = table.RowCount; //получаем число строк из Результат
int n_kol2 = table.ColCount; //получаем число колон из Результат
int n_strok1 = tab_vrem.RowCount;//получаем число строк из Tab_vrem
// string harak = null; //Заводим переменную для характ-ки
// string harak_rez = null;      //Заводим переменную для свойств характ-ки
int n_strok = Convert.ToInt32(project.Variables["Schet_strok"].Value);
int schet_kol =1; //это счетчик, т.к ширина табл. фикс, и нужно добоовлять 1, к счетчику
         // lock (SyncObjects.TableSyncer)

                       
//                            sourceTable.SetCell(sourceTable.ColCount +1, 0, harak);
//                            sourceTable.SetCell(sourceTable.ColCount +1,stroka,harak_rez);

for (int i=0; i<n_strok1; i++)
{
     string  har1 = tab_vrem.GetCell(0,i);
     string  harak_rez = tab_vrem.GetCell(1,i);
     for (int j=0; j<n_kol2 ; j++)
    {
     string znach_yach = table.GetCell(j,0);  
        if (har1 == znach_yach)
        {
          table.SetCell (j, n_strok, harak_rez);
          goto fin;
        }
    }
     
      table.SetCell(n_kol2 + schet_kol , 0, har1); //
      table.SetCell(n_kol2 + schet_kol, n_strok ,harak_rez);
    schet_kol = schet_kol +1; //при записи новой хар-ки, добовляем счетчик
        fin:
         ;
   
     
}
project.Variables["Variable.Schet_strok"].Value = Convert.ToString( n_strok + 1);
 

ZULI

Client
Регистрация
09.09.2020
Сообщения
423
Благодарностей
165
Баллы
43
В переменной точно цифры, может не может из-за того что там текст?

Попробуй так
Код:
stroka = int.Parse(project.Variables["Schet_strok"].Value);
 

Андрес

Client
Регистрация
26.03.2017
Сообщения
46
Благодарностей
1
Баллы
8
Так тоже ошибку дает. Это берется номер строки из переменной, она равна 5, но т.к в зенке все string, то перевожу в int.
Самое, то интересное, в отладке пошаговой все работает.
 
Последнее редактирование:

Андрес

Client
Регистрация
26.03.2017
Сообщения
46
Благодарностей
1
Баллы
8
Спасибо, разобрался сам, в 43 строке ошибка была.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)