Можно запустить программы для борьбы с битыми пикселами и попробовать "расшевелить" их (цвета переключают быстро и тому подобные манипулции выполняются). По конфигурации ПК понятно, что это не OLED монитор, а обычные VA/IPS надо очень постараться, чтобы выгорели. Может, если монитору ближе к 10 годам, может и начал выгорать. Мониторы пока что не сильно в цене взлетели, лучше обновиться побыстрее.
good_dweller, Не знаю, не пользовался. Если вам понятно, что и как они пишут - то нормальный. собенно, если бесплатный вообще или часть уровков бесплатные или можно вернуть деньги за курс, если не понравилось.
Похоже на ошибку драйвера видеокарты. Видимо разовый сбой и перезагрузка исправила. У меня похожее бывает на виртуалке в VirtualBox, когда включено 3D ускорение.
Александр Ананьев, Впрочем, запрос был, есть ли работа с json через объекты WebView2. Сейчас у меня сторонней библиотекой сделано, хочется сделать более "правильно", если у WebView есть поддержка. Внутренне она есть, ведь ExecuteScriptWithResult как-то делает десериализацию.
Александр Ананьев, Блин, прошё прощения за панику. Из-за необходимости четырёх конвертаций и своей невнимательнсоти в самом конце в unicode конвертировал не строку из json, а более раннюю корявую. Соовтетсвтенно и результат был чушью. Мой косяк.
Десериализация при помощи json объекта работает.
Александр Ананьев, тут приколюха в том, что этот json в UNICODE формате, то есть русские буквы там записаны именно русскими символами. То есть его нельзя напрямую сунуть в json объект. Сперва преобразовываю в UTF8 (WideCharToMultiByte) и тогда эту строку можно сунуть в json объект и, затем, получить из объекта всю эту же строку, но уже десериализованную. И в UTF8 там всё выглядит адекватно. Но потом эту UTF8 преобразовываю в юникод(MultiByteToWideChar) и результатом опять получается корявая фигня. Русские буквы становятся русскими, но вот всякие угловые скобочки заменяются escape последовательностью.
Скорее всего на ПК вирус не сможет перебраться, разве что разработчик предусмотрел, что надо будет через телефон заражать ПК и содержит х86 версию вируса. Всё-таки и файловая система другая и ОС другая и бинарники не совместимые.
У меня был смешной случай, специально в эмуляторе открывал сайт с вирусом, который ПК заражал то ли при открытии страницы, то ли при попытке что-то скачать, уже не помню. В общем, вирус стал ругаться, что нет нужных библиотек для его работы и не смог ничего заразить, я не стал браузер обновлять :)
Hihihiha, Попробуй отключить службу индексации. Она любит насиловать диск во время простоя компьютера. Если не пользуешься стандартным файл-менеджером и его "поиск по содержимому", то индексация ненужна, только ресурсы тратит.
нельзя создать статический массив не константного размера. Почитай про ключевое слово const, в том числе по испоьзованию констант для указания размера массива.
Hihihiha, в принципе, может быть что угодно. Т.к. причина неизвестна, то и нет гарантии, что переустановка поможет. Самый ужас, что некоторые вирусы так сильно в систему заползают, что даже форматирование дисков не спасает.
Проверь Касперским и ещё каким-нибудь антивирусом. Если сайт касперского открывается и даёт файл скачать, скорее всего, вируса нет. Обычно вирусы роняют браузер, чтобы не дать скачать антивирус. Проверь автозагрузку, может какая-то ненужная ерунда грузится и что-то усердно делает.
Dyikot, ход мыслей правильный. Добавь в IProperty чисто-виртуальную функцию Copy. А дальше уже каждый конкретный класс себя будет уметь копировать. И никаких мэпов.
Dyikot, Тут прикол в чём, если ты допускаешь ошибку при проектировании интерфейса, то потом исправить уже нельзя и надо переписывать с нуля. Поэтому сперва надо продумать, что ты вообще елаешь и для чего. И как оно должно работать. Ты продумал запись/чтение только одного объекта на целый файл. Даже для двух объектов не продумал.
Если же у тебя всего один объект и есть, то нагромождение базовых классов и интерфейсов не нужны - это лишнее усложнение.
Dyikot, Понятно, то есть у тебя не сам объект сериализируется, а есть отдельные внешние объекты.
Тогда остаётся только вопрос, как ты будешь делать десериализацию, если в файл сохранено более одного объекта? Вот у тебя есть путь к файлу. Ты можешь открыть файл либо в самом начале, либо в самом конце. Чтобы открыть и перейти на произвольное место в файле, тебе надо знать это произвольное смещение.
Dyikot, Не, ты пока не понял про что говорю. Давай сериализовывать фрукты. У тебя есть классы Апельсин и Банан. Ты будешь их наследовать от ISerializator? Или у тебя в каждом из этих классов будет объект Данные, унаследованные от ISerializator? Вот у тебя есть массив из фруктов, как ты будешь этот массив сериализовывать? В цикле для каждого вызывать метод сериализации и на каждой итерации будет файл открывать, записыаться и закрываться. А как ты потом этот массив обратно прочитаешь, если на каждой итерации надо файл не просто открывать, но и в определённое смещение смещаться?
Dyikot, Хорошо, не два, а контейнер из полутора тысяч объектов. Что мешает передать в функцию полторы тысячи разнотипных аргументов? У тебя в интерфейсе всего один передаётся.
И, как уже спросил GavriKos, с какой целью ты передаёшь данные объекта в функцию сериализации этого же объекта? Или сериализаторы будут внешними объектами? Чаще всего сериализуемый класс наследуется от такого интерфейса и объект сам себя сериализует. А зачем классу самому в себя передавать указатель на себя?
Dyikot, не нужен. Ты собираешься открывать/закрывать файл для чтения/записи каждого объекта. А что делать с контейнерами собрался? А если дочерний класс вызывает функцию сериализации родительского класса? А если ты хочешь не в файл сохранить, а в строку(stringstream)? А как ты собираешься десериализировать два объекта, если в функцию не передаётся смещение, относительно которого объект записан, а открыть поток ты сможешь или в начале или в конце файла, раз смещения нет никакого?
Почти на 100% уверен, что сериализация в "путь к файла" - плохая архитектура. Открывать/закрывать файл для каждого объекта? Уверен, туда надо stream использовать.