|
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
|
|||||||||||
Доступ к ликвидированному объекту невозможен09.09.2020, 15:45. Показов 16029. Ответов 108
Метки нет (Все метки)
Создал новую форму Form2 и новый юзер контрол UserControl1
на новую форму повесил юзер контрол (не знаю для чего но сделал ) далее в классе Program.cs написал вот что
затем окно Form2 закрыл и нажал на основной форме Form1 кнопку еще раз и получил исключение ( System.ObjectDisposedException: "Доступ к ликвидированному объекту невозможен. Имя объекта: "Form2"." как это исправить? Добавлено через 6 минут это я пытаю кешировать формы Добавлено через 1 час 0 минут не понимаю почему вылазит данное исключение? я следую этим примерам (понятно что это веб приложение но все же) https://docs.microsoft.com/ru-... startup-cs я как бы инитиализирую статическое поля а затем юзаю его почему оно теряется при закрытии? Добавлено через 7 минут пните в меня ссылку на почитать о кешировании в вин формах пожалуйста все что нахожу это только о ASP.NET а мне вин формы нужны ( Добавлено через 5 минут или же мне данные самих настроек необходимо кешировать а затем использовать их при инитиализации формы?
0
|
|||||||||||
| 09.09.2020, 15:45 | |
|
Ответы с готовыми решениями:
108
Доступ к ликвидированному объекту невозможен Доступ к ликвидированному объекту невозможен
|
|
Модератор
|
|||
| 16.09.2020, 20:25 | |||
|
Всё это делается по источнику данных, а не по UI элементу которым является DataGrid.
0
|
|||
|
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
|
|
| 16.09.2020, 20:29 [ТС] | |
|
я просто пытаюсь понять как взаимодействовать с элементами форм
так как без этого мне никогда не понять ка писать приложения на уровне программирования скажем PHP приложение будет тупить жутко ))) тогда когда сайт летает (
0
|
|
|
Модератор
|
||
| 16.09.2020, 20:31 | ||
|
Привязки в View создаются к Контексту Данных, в котором обычно находится ViewModel. А Данные находятся в Model и к ним никаких привязок не создаётся. Вы говорили, что хорошо освоили ООП. Так вот Данные это один уровень абстракции, их отражение на удобные для привязок типы - другой уровень абстракции, а Представление последних типов - ещё один, самы верхний уровень абстракции.
0
|
||
|
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
|
||
| 16.09.2020, 20:31 [ТС] | ||
|
опять не туда ))) ща ся отдаю источнику данных напрмиер текст для поиска после он его съедает и делат запрос затем возвращает результат в виде DataTable я просто пытаюсь понять мое ядро верно работает или мне что то нужно переделать
0
|
||
|
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
|
||||
| 16.09.2020, 20:37 [ТС] | ||||
|
и это я понимаю ((( дапустим у меня есть класс DB в нем методы работы с базой данных возьмем мою CMS в ней есть класс БД который занимается следующим ему отдают запрос типа получитьСписокТоваров(Array(Фильтр)) затем он разбирает массив фильтра и возвращает рельтат опять же массивом данных аналогично я делал ОРМ в шарпе только в место массива я возвращаю DataTable но одним местоя я чувствую то это не верно Добавлено через 2 минуты что бы я мог видеть как это сделано и тогда я пойму как мне переделать ядро а дальше уже станет понятно как сделать все остальное ) Добавлено через 42 секунды
0
|
||||
|
Модератор
|
||
| 16.09.2020, 20:46 | ||
|
Вы должны получать коллекции элементов с заранее определёнными свойствами. ViewModel вызывает метод Модели (допустим, поиска) и передаёт ему нужные параметры (допустим, текст который надо найти). Модель реализует необходимую логику и если требуется, то обращается к Репозиторию с запросом на получение нужных данных. Репозиторий обрабатывает запрос, получает данные (безразлично откуда: файл, БД, WEB, служба и т.д.). Полученные данные переводит в удобный для обмена вид (обычно иммутабельные DTO типы) и сообщает Модели что данные готовы. Модель производит логическую обработку данных и сообщает об изменившемся своё состоянии. ViewModel преобразует данные из DTO типов в удобный для WPF вид. View по ним обновляет представление. Добавлено через 5 минут Sanya2019, у вас примерно реализовано в нужную сторону. Но отличительных деталей будет множество. И их накопится столько, что возможно будет проще переделать с нуля. Я предлагаю вам разработать небольшую задачу для обучения, но такую опыт реализации которой был бы вам полезен. И шаг за шагом реализуем. Посмотрите тему Пытаюсь понять идеологию MVVM NТам я так же подробно ТС объясняю что да как.
0
|
||
|
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
|
|
| 16.09.2020, 20:47 [ТС] | |
|
EF использую только для простоты запросов затем результат заливается в DataTable
0
|
|
|
Модератор
|
|||
| 16.09.2020, 20:49 | |||
|
Ой, как я сомневаюсь в полезности для начинающего в таком занятии. Лучше совместно сделаем реализацию небольшой задачи. Добавлено через 1 минуту Но настаивать не буду. Надо слишком глубоко влазить в детали реализации для оценки оптимальности подхода.
0
|
|||
|
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
|
|||||||
| 17.09.2020, 11:29 [ТС] | |||||||
|
ядро возвращает именно это для того что бы из любого места я мог получить эти данные например в 1С так
за исключением если я поднимаю форму то он передает дататабле в датагрид а если мне нужно в коде что то получить он мне так же возвращает дататабле
0
|
|||||||
|
Модератор
|
||||||||||||||||||||||
| 17.09.2020, 14:38 | ||||||||||||||||||||||
|
И реализовывать доступ через интерфейсы. То есть будет много проще если будет нечто подобное:
0
|
||||||||||||||||||||||
|
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
|
||
| 17.09.2020, 14:49 [ТС] | ||
|
а что если коллекция заранее не известна? )
Добавлено через 1 минуту
0
|
||
|
Модератор
|
|||
| 17.09.2020, 14:53 | |||
|
Конечно в конкретной задаче могут условия требующие другой реализации. Для выводов надо лучше знать задачу. Добавлено через 16 секунд
0
|
|||
|
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
|
||
| 17.09.2020, 15:09 [ТС] | ||
|
в нем реализованы методы скажем так работы с БД но на уровне получить все из БД (по отбору конечно) и отдать либо массив либо DataTable для веб сервера для работы ядра как CGI используются возврат массива для винды DataTable Добавлено через 11 минут для меня просто очень удобно работать с ручкоязычным синтаксисом
0
|
||
|
Модератор
|
|||
| 17.09.2020, 15:44 | |||
|
НО нам же известна она для GUI и, соответственно, мы знаем какую надо запросить инфу от Модели. А Модель уже запрашивает от Реп, который уже будет переводить неизвестную коллекцию в известную.
0
|
|||
|
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
|
|||||||||||||||||||||||
| 18.09.2020, 12:16 [ТС] | |||||||||||||||||||||||
|
1С синтакксис является не типизированным языков не нужно явно указывать тип объекта просто пишешь и все к таму же я всю жизнь занимаюсь 1С и я очень привык к ее синтаксису но хочу сделать хоть и маленькое но свое что бы продавать программку свою щас у меня есть готовое решение которое я уже поставил нескольким своим клиентам но оно полностью написано на C# и без моего интерпритатора но опять е мне было бы удобно писать на своем интерпритаторе вот и сделал его + вот хочу сделать под него формы но и этот вопрос уже потихонечку начинаю осваивать щас придумал как сделать пока простой вывод что то типа упровлемых форм но не знаю как такая реализация скажется на быстродействии смысл таков что я в движок засунул кучу юзер контролов типа ТаблицаФормы() ДиалогВыбораФайла() и т д... это простые контролы которые включают в себя методы работы с базой данных короче получается нечто следующее синтаксис вот такой
в итоге на формы будет повешена таблица с датагридом и в ней данные во всех таблицая я реализовал виртуальный режим 70 000 записей из бд открывает при такой работа за чуть более 2 секунд Добавлено через 2 минуты Такая же реализация например для дерева форм
щас буду тестить если все ок буду думать как сделать это все с конфигуратора для форм Добавлено через 3 минуты в 1с то же самое там есть одна форма главная и на нее вешаются контролы только не при открытии формы а при старте программы создается куча экземпляров но смысл таком в ядре есть контролы кнопки, таблицы, и т д. во всех таблицах неку предстовляения о том что в них будет выведено при старте программа получает текущую модель того или инного справочника (Ее колонки настройки каждой колонки ) где каждая из колонок будет распалагаться где будет распалагаться сама таблица к каким краям у таблицы привяка и т д.. в итоге рисуется форма с таблице и далее на таблицу вешается класс с метадами вывода в нее данных из бд и т. д. Добавлено через 29 секунд а точно не знаю ка кона работает! ) Добавлено через 10 минут Вот так можно работать с базой данных из моего движка
Вот так можно работать с базой данных из моего движка
0
|
|||||||||||||||||||||||
|
Модератор
|
|||
| 18.09.2020, 12:49 | |||
|
Которые писались чуть ли не на Бейсике, наверное. C# - строго типизированный язык. Вы, конечно, можете использовать тип dynamic. Но по факту его бездумное использовании, приведёт к огромному количеству багов и ошибок проявляющихся только во время исполнения. Добавлено через 3 минуты Для пользователя можете оставить любой язык интерфейса, в том числе программного, на само ПО должно соблюдать множество правил и рекомендаций. В том числе Правила именования - Имена должны быть на английском и передавать смысл функции, назначения именуемого объекта.
0
|
|||
|
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
|
|||
| 18.09.2020, 13:18 [ТС] | |||
|
напрмиер не может приобразовать переменную в тип дата так как указано неверное содержимое и т д то же и с числом если напрмиер попытаться передать а = "Привет мир" ; а * 8 = ?? он вернет сообщение что невозможно предобразовать к числу переменную а где то так Добавлено через 37 секунд я о том что я для себя можно сказать делаю ИДЕ что бы сомому писать и быстро исправлять приложения Добавлено через 23 минуты Вот пример того как работает мой движок https://vk.com/apdate?z=video6... l_69427573 переменной не задается тип он определяется всегда при компиляции а компиляции производится на лету
0
|
|||
|
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
|
||
| 18.09.2020, 14:26 [ТС] | ||
|
в котором я бы мог выбирать к примеру создать новый справочник (это ка кбы новая таблица в БД + новая форма с кучей контролок контролы накидываются на форму затем каждому контролу присваивается событие Справочник должен иметь в себе три класса методов один общедоступный второй класс формы третий дополнительный класс для общих классов класса формы при компилиции програмыы я должен получить уже готовую форму для работы с данными Добавлено через 1 минуту вот щас елаю то как я это понимаю но боюсь что будут тормоза жуткие смысл в том что каждая кнопка например в форме имеет стондартное событие которое тупо запускает функцию в моем движке и передает в нее имя метода который нужно выполнить и все Добавлено через 2 минуты то что на видео это один модуль (Класс) кнопка выполнить просто передает либо все тело кода в интерпритатор (если точка входа прописана в низу или точки входа) либо передает и тело модуля и точку входа (тот самы метод который нужно выполнить) компилятор преобразует код в C# код и выполняет его где то так
0
|
||
| 18.09.2020, 14:26 | |
|
System.ObjectDisposedException: "Доступ к ликвидированному объекту невозможен" Из-за чего в первой строке пишет ошибку "Доступ к ликвидированному объекту невозможен"? "Доступ к ликвидированному объекту невозможен" - почему? Повторное открытие формы выдает ошибку доступа к ликвидированному объекту Доступ к ликвидированному объекту невозможен Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|