|
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
|
|||||||||||
Доступ к ликвидированному объекту невозможен09.09.2020, 15:45. Показов 15743. Ответов 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: "Доступ к ликвидированному объекту невозможен" Из-за чего в первой строке пишет ошибку "Доступ к ликвидированному объекту невозможен"? "Доступ к ликвидированному объекту невозможен" - почему? Повторное открытие формы выдает ошибку доступа к ликвидированному объекту Доступ к ликвидированному объекту невозможен Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|