Выполнение действия CSharp OwnCode: Входная строка имела неверный формат.

  • Автор темы Автор темы Kababchik
  • Дата начала Дата начала

Kababchik

Новичок
Регистрация
12.03.2021
Сообщения
16
Реакции
0
Баллы
1
C#:
Развернуть Свернуть Копировать
lock(SyncObject) {
    var gbVar = project.GlobalVariables["razdva", "globVar3"];
    gbVar.Value = Convert.ToInt32(gbVar.Value.ToString())+1;
    project.Variables["currentValue"].Value = gbVar.Value.ToString();
}
Код почему то стал работать раз через раз. Сейчас срабатывает нормально, после перезапуска может начать писать ошибку "Выполнение действия CSharp OwnCode: Входная строка имела неверный формат."
 
project.GlobalVariables["razdva", "globVar3"]
Возможно глобальная переменная содержит пустоту или недопустимые значения, например буквы, а вы пытается привести в int(целочисленный тип данных) Возможно так же, что число не целое.
 
  • Спасибо
Реакции: Kababchik
Выполнение действия CSharp OwnCode: increment counter and store value to local variable. Глобальная переменная razdva.globVar3 не инициализирована
Сорри, я там поторопился с ответом. Все нормально в вашем коде. Просто проверку значений нужно делать в переменных
 
Сорри, я там поторопился с ответом. Все нормально в вашем коде. Просто проверку значений нужно делать в переменных
Да, проблема в том, что в переменной пустота, вопрос в том, что он раз через раз сам выставляет значение на 0
 
Да, проблема в том, что в переменной пустота, вопрос в том, что он раз через раз сам выставляет значение на 0
Ну я не знаю, как у вас шаблон работает. Причину проблемы выявили. Остается либо делать проверку на пустоту, либо править логику шаблона
 
Ну я не знаю, как у вас шаблон работает. Причину проблемы выявили. Остается либо делать проверку на пустоту, либо править логику шаблона
108264

Создаю глабольную переменную, если она уже существует, то увеличиваю ее значение на 1 во втором блоке. В ПМ все работает хорошо, но когда запускааю проект в многопотоке в ЗП то вылезает ошибка, которую кидал выше
 
Посмотреть вложение 108264
Создаю глабольную переменную, если она уже существует, то увеличиваю ее значение на 1 во втором блоке. В ПМ все работает хорошо, но когда запускааю проект в многопотоке в ЗП то вылезает ошибка, которую кидал выше
Вам точно нужна глобальная переменная? Потому что глобальная переменная одна для нескольких потоков в ЗП, меняя в одном потоке, меняется и в другом.
 
Вам точно нужна глобальная переменная? Потому что глобальная переменная одна для нескольких потоков в ЗП, меняя в одном потоке, меняется и в другом.
Попробую объяснить. У меня есть условно текстовик с данными такого формата
"1
2
3
4"
Для того чтобы не брать одно и тоже значение из текстовика, я увеличиваю значение глобальной переменной, локальная переменная в свою очередь становится равной глобальной переменной. Локальная переменная = строке, которую берет поток для обработки.
 
Попробую объяснить. У меня есть условно текстовик с данными такого формата
"1
2
3
4"
Для того чтобы не брать одно и тоже значение из текстовика, я увеличиваю значение глобальной переменной, локальная переменная в свою очередь становится равной глобальной переменной. Локальная переменная = строке, которую берет поток для обработки.
Правильнее было бы брать данные из файла построчно с удалением.
 
Вот пример правильной работы с глоб. переменной:
В данном примере хранится объект синхронизации.
 

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