Проблема с загрузкой через netload

Автор Тема: Проблема с загрузкой через netload  (Прочитано 18894 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DenisFАвтор темы

  • ADN OPEN
  • Сообщений: 11
  • Карма: 0
Помогите разобраться, пользовался ранее в офисе на autocad 2013 кодом для отрисовывания схем на основании данных забитых в Excel
Сейчас нужно дома этим заниматься, файл .dll не запускается.
Есть непосредственно файл .dll и исходник,который писали в visual basic.
Непосредственно в написании кода не разбираюсь/
Библиотеки objectarx ставил на компьютер, но ничего не работает.
Как узнать,что еще требуется?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Проблема с загрузкой через netload
« Ответ #1 : 03-07-2017, 22:00:41 »
Как узнать,что еще требуется?
Требуются исходники и указание версии/разрядности AutoCAD, под которым должно работать.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DenisFАвтор темы

  • ADN OPEN
  • Сообщений: 11
  • Карма: 0
Re: Проблема с загрузкой через netload
« Ответ #2 : 03-07-2017, 22:24:43 »
у меня есть еще некоторые файлы, но если я правильно понимаю, то компиляции достаточно одного файла -именно с кодом, правильно?
работать должно не важно на какой версии autocad - хорошо бы на 2017, но файл писался для 2013. а битность -64

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Проблема с загрузкой через netload
« Ответ #3 : 03-07-2017, 22:26:44 »
Это файл проекта, а не исходник. Необходимы все файлы.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DenisFАвтор темы

  • ADN OPEN
  • Сообщений: 11
  • Карма: 0
Re: Проблема с загрузкой через netload
« Ответ #4 : 03-07-2017, 22:29:42 »
Все файлы,которые у меня есть в архиве,
какого типа файл,который является исходником?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Проблема с загрузкой через netload
« Ответ #5 : 03-07-2017, 22:40:11 »
Если это всё что есть, то это больше похоже на мусор, а не на программу. В AutoCAD это грузится, но ничего не делает, так как там нет команды для выполнения.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DenisFАвтор темы

  • ADN OPEN
  • Сообщений: 11
  • Карма: 0
Re: Проблема с загрузкой через netload
« Ответ #6 : 03-07-2017, 22:42:37 »
Да, все,что есть, нужных файлов нет?
Если нет, то могли бы вы посоветовать,кто пишет различные коды,к кому можно обратиться?

Оффлайн DenisFАвтор темы

  • ADN OPEN
  • Сообщений: 11
  • Карма: 0
Re: Проблема с загрузкой через netload
« Ответ #7 : 03-07-2017, 22:48:57 »
Есть еще такой рабочий файл, он у меня запускается и выпадает меню из файла, но выскакивает ошибка - Приложение не поддерживает оперативную (JIT)
отладку. Подробная информацию приводится в конце данного сообщения. и тп.

Работать этот код должен по следующему сценарию:
1 через netload грузим vimedia.dll
2 в командной строке вбиваем vimedia и выскакивает список команд из кода
3 при этом данные для обработки берутся из excel

Оффлайн DenisFАвтор темы

  • ADN OPEN
  • Сообщений: 11
  • Карма: 0
Re: Проблема с загрузкой через netload
« Ответ #8 : 03-07-2017, 22:50:11 »
Если это всё что есть, то это больше похоже на мусор, а не на программу. В AutoCAD это грузится, но ничего не делает, так как там нет команды для выполнения.
После того как файл загрузился- нужно набирать viart и должны выскакивать команды из кода/
после загрузки через netload ничего не происходит- это верно

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Проблема с загрузкой через netload
« Ответ #9 : 03-07-2017, 22:51:48 »
С этим вопросом сюда: http://adn-cis.org/forum/index.php?board=38.0
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DenisFАвтор темы

  • ADN OPEN
  • Сообщений: 11
  • Карма: 0
Re: Проблема с загрузкой через netload
« Ответ #10 : 03-07-2017, 22:53:49 »
а по ошибке с оперативной отладкой Jit можете что-то посоветовать? на форуме уже видел этот вопрос, но ни переустановка acad ни новый framework не помогли

Оффлайн DenisFАвтор темы

  • ADN OPEN
  • Сообщений: 11
  • Карма: 0

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Проблема с загрузкой через netload
« Ответ #12 : 03-07-2017, 23:10:52 »
Я перекомпилировал под AutoCAD 2013. Но там прописаны полные пути к файлу на сервере, которые тебе придётся изменить - иначе работать не будет.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DenisFАвтор темы

  • ADN OPEN
  • Сообщений: 11
  • Карма: 0
Re: Проблема с загрузкой через netload
« Ответ #13 : 03-07-2017, 23:24:30 »
Здорово, у меня стало запускаться.
про ссылки к файлам я знаю.
Файл, который вы прокомпилировали,там ведется расчет спецификации,
 а мне нужен в котором есть такое:
Public Function kolvo_attributes

буду вам чудовищно признателен,если прокомпилируете еще раз другой исходник)

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Проблема с загрузкой через netload
« Ответ #14 : 04-07-2017, 00:09:57 »
буду вам чудовищно признателен,если прокомпилируете еще раз другой исходник)
Я перекомпилировал всё, что ты дал. Там есть и указанная тобой функция. И две команды:
Viart2_Спецификация_ЭОМ
Viart2_Спецификация_АСУ
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DenisFАвтор темы

  • ADN OPEN
  • Сообщений: 11
  • Карма: 0
Re: Проблема с загрузкой через netload
« Ответ #15 : 04-07-2017, 13:00:10 »
Когда запускаешь dll то выскакивает только эти
Viart2_Спецификация_ЭОМ
Viart2_Спецификация_АСУ
на выбор.
так у меня было когда я грузил через netload Спецификатор v3.dll

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Проблема с загрузкой через netload
« Ответ #16 : 04-07-2017, 15:23:45 »
Значит должны быть ещё исходники. Возможно отдельный проект.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн TiDi

  • ADN OPEN
  • Сообщений: 13
  • Карма: 0
Re: Проблема с загрузкой через netload
« Ответ #17 : 29-11-2022, 17:18:27 »
Написал HelloWorld в VS 2019 Professional 16.11.21
Код - vb.net [Выбрать]
  1. Imports Autodesk.AutoCAD.ApplicationServices
  2. Imports Autodesk.AutoCAD.EditorInput
  3. Imports Autodesk.AutoCAD.Runtime
  4.  
  5. Public Class Class1
  6.     <CommandMethod("HelloWorld")>
  7.     Public Function HelloWorld()
  8.         Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor
  9.         ed.WriteMessage("HelloWorld")
  10.     End Function
  11. End Class

Все библиотеки Acmgd.dll, Accore.dll, Acdbmgd.dll загружены и Copy Local = false
Загружаю через NETLOAD свою MoveAttribute.dll (AutoCAD 2022 x64)
На выполнение HELLOWORLD ругается благим матом:
Извините, вам запрещён просмотр содержимого спойлеров.

В чем может быть проблема и как ее устранить?
Microsoft .NET Framework 4.8

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Re: Проблема с загрузкой через netload
« Ответ #18 : 30-11-2022, 08:38:29 »
Сборка собиралась в режиме Release, надеюсь?
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн doctorRAZ

  • ADN OPEN
  • Сообщений: 42
  • Карма: 0
  • Skype: doctorraz
Re: Проблема с загрузкой через netload
« Ответ #19 : 30-11-2022, 09:05:05 »
В чем может быть проблема
в свойствах проекта, "целевой ЦП" х64?
хотя пожалуй х32 не загрузится((

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Re: Проблема с загрузкой через netload
« Ответ #20 : 30-11-2022, 19:37:12 »
А HelloWorld не должна быть процедура?
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн TiDi

  • ADN OPEN
  • Сообщений: 13
  • Карма: 0
Re: Проблема с загрузкой через netload
« Ответ #21 : 01-12-2022, 14:17:00 »
А HelloWorld не должна быть процедура?

Все верно,Алексей Кулик,  Public Function вместо Public Sub употребил.

Спасибо.

Оффлайн Андрей Афонин

  • ADN OPEN
  • Сообщений: 10
  • Карма: 0
Re: Проблема с загрузкой через netload
« Ответ #22 : 17-12-2022, 23:29:07 »
Добрый день!
Прошу помощи/подсказки/совета. Возникла проблема при загрузке файла плагина .dll. Плагин собран в режиме debug x86. Целевая версия Autocad 2021, ОС Windows 10. При запуске отладки и попытке выполнения команды netload выдаются такие ошибки (прилагаю в картинке). При этом в окне "Вывод" отображается следующая информация (скопировал в прилагаемый текстовый файл). Подскажите, пожалуйста, что с этим делать?


Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Проблема с загрузкой через netload
« Ответ #23 : 17-12-2022, 23:43:25 »
AutoCAD 2021 работает только на Windows x64 и соответственно нельзя использовать конфигурацию x86.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей Афонин

  • ADN OPEN
  • Сообщений: 10
  • Карма: 0
Re: Проблема с загрузкой через netload
« Ответ #24 : 17-12-2022, 23:59:32 »
Добрый вечер!
У меня и при х64 аналогичное сообщение выходит. И при AnyCPU. Вот картинку прилагаю....


Я когда делал проект на vb, то начинал на VS2019 с помощью шаблона проекта из Autocad 2021 wizard, все было нормально, таких проблем не было.
 А сейчас Visual Studio обновил Visual Studio до версии 2022, проект vb так же нормально собирается и грузится.
В рамках изучения C# создал отдельный проект (библиотеку классов) на C#, переписал часть кода из vb, но так как шаблон wizard не поддерживает vs2022 (по крайней мере установщик так пишет), я вручную все ссылки подключал, ориентируясь на проект vb. При сборке приложения никаких ошибок не выдается, все "успешно", а вот через netload не грузится ни в конфигурации Release, ни в Debug.
А проект, ранее созданный в vb, как грузился нормально, так и грузится (Слава Богу!)

Оффлайн Андрей Афонин

  • ADN OPEN
  • Сообщений: 10
  • Карма: 0
Re: Проблема с загрузкой через netload
« Ответ #25 : 18-12-2022, 00:12:48 »
Может быть, если у кого-нибудь будет возможность и желание подсказать - прилагаю архив с проектом.
Заранее всем премного благодарен, кто откликнется.

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Re: Проблема с загрузкой через netload
« Ответ #26 : 18-12-2022, 11:08:19 »
Я бы попробовал командный метод сделать статическим. Ну так, для гарантии. И флаги надо складывать, насколько я помню, через "|", а не через "&".
Off-Topic: показать
Извините, вам запрещён просмотр содержимого спойлеров.
« Последнее редактирование: 18-12-2022, 12:04:45 от Алексей Кулик »
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Lemieux

  • ADN OPEN
  • ****
  • Сообщений: 384
  • Карма: 21
Re: Проблема с загрузкой через netload
« Ответ #27 : 19-12-2022, 00:22:50 »
Ответ кроется в описании ошибки и конструкторе атрибута.

Алексей Кулик, у меня есть класс на 2к строк. Видел классы на 3к строк и это не любители, как я, а мидлы и сеньёры в продуктовых компаниях.
Хотя методы "SdelayKodTochkiPopera" и "SdelayOpisanieTochkiPopera_3" крутые. Замена break на return уже убрала бы 300+ строк.

Андрей Афонин, почему так много мусора в референсах?

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Re: Проблема с загрузкой через netload
« Ответ #28 : 19-12-2022, 00:48:38 »
Ответ кроется в описании ошибки и конструкторе атрибута.
Возможно. Но картинка у меня отображается криво до ужаса.
Алексей Кулик, у меня есть класс на 2к строк. Видел классы на 3к строк и это не любители, как я, а мидлы и сеньёры в продуктовых компаниях.
Хотя методы "SdelayKodTochkiPopera" и "SdelayOpisanieTochkiPopera_3" крутые. Замена break на return уже убрала бы 300+ строк.
Я не про это, а про повтор кода. Явное нарушение DRY :)
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Re: Проблема с загрузкой через netload
« Ответ #29 : 19-12-2022, 00:49:11 »
P.S. У меня в подписи не просто так стоит "Все что сказано - личное мнение" ;)
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Андрей Афонин

  • ADN OPEN
  • Сообщений: 10
  • Карма: 0
Re: Проблема с загрузкой через netload
« Ответ #30 : 19-12-2022, 11:59:59 »
Все бьюсь с проблемой загрузки...
Спасибо всем большое за полезные советы. Алексей, я почитал - в AutoCad .net Developer's guide в разделе 6: Command Definition указано, что флаги в commandFlags объединяются оператором &. И по реорганизации кода, выделении определенных методов, которые я буду использовать в основных командах, в отдельный класс, - учту совет, обязательно. Так конечно мне будет удобнее работать. Мне бы плагин запустить для начала ))))) и посмотреть, как оно хоть работает и сравнить с полным аналогом из предыдущего проекта моего на vb.net, который и запускается, и работает, а этот (я его чуть обновил и опять выложил).

Я и ссылки лишние почистил, пока внятно не могу объяснить, зачем я столько их добавил (в данном случае я просто копировал все из исходного проекта, те же самые ссылки, с идеей, что раз там работает - то ничего не менять). Проблема так и осталась:
1. среда разработки VS 2022 пишет "проблемы не найдены", настройки компиляции Debug x64, решение собрано "успешно";
2. при запуске команды netload  выдается ошибка "Не удалось загрузить сборку. Сведения об ошибке: System.Resources.MissingManifestResourceException: Не удалось найти ресурсы, соответствующие указанной культуре или нейтральной культуре.  Проверьте правильность внедрения или связывания "Useful_FunctionsCsh.Class1.resources" со сборкой "Useful_FunctionsCsh" во время компиляции, или убедитесь, что все необходимые сопутствующие сборки полностью подписаны и могут быть загружены." (картинку прилагаю)

Я и настройки проекта отдельной картинкой прилагаю, подозреваю, что где-то здесь "собака порылась"...

Если у кого-нибудь будет возможность помочь с решением - помогите, пожалуйста.

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Re: Проблема с загрузкой через netload
« Ответ #31 : 19-12-2022, 12:39:03 »
Попробуй. Основное что я сделал - это
1. Поменял объявление команд
2. Подключил NuGet-пакет (возможно, у тебя не сработает - тогда вернешь ссылки на соответствующие dll обратно
3. Все в статику
4. Удалил гарантированно ненужные ссылки и классы
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Lemieux

  • ADN OPEN
  • ****
  • Сообщений: 384
  • Карма: 21
Re: Проблема с загрузкой через netload
« Ответ #32 : 19-12-2022, 12:59:20 »
Все бьюсь с проблемой загрузки...
Спасибо всем большое за полезные советы. Алексей, я почитал - в AutoCad .net Developer's guide в разделе 6: Command Definition указано, что флаги в commandFlags объединяются оператором &. И по реорганизации кода, выделении определенных методов, которые я буду использовать в основных командах, в отдельный класс, - учту совет, обязательно. Так конечно мне будет удобнее работать. Мне бы плагин запустить для начала ))))) и посмотреть, как оно хоть работает и сравнить с полным аналогом из предыдущего проекта моего на vb.net, который и запускается, и работает, а этот (я его чуть обновил и опять выложил).

Я и ссылки лишние почистил, пока внятно не могу объяснить, зачем я столько их добавил (в данном случае я просто копировал все из исходного проекта, те же самые ссылки, с идеей, что раз там работает - то ничего не менять). Проблема так и осталась:
1. среда разработки VS 2022 пишет "проблемы не найдены", настройки компиляции Debug x64, решение собрано "успешно";
2. при запуске команды netload  выдается ошибка "Не удалось загрузить сборку. Сведения об ошибке: System.Resources.MissingManifestResourceException: Не удалось найти ресурсы, соответствующие указанной культуре или нейтральной культуре.  Проверьте правильность внедрения или связывания "Useful_FunctionsCsh.Class1.resources" со сборкой "Useful_FunctionsCsh" во время компиляции, или убедитесь, что все необходимые сопутствующие сборки полностью подписаны и могут быть загружены." (картинку прилагаю)

Я и настройки проекта отдельной картинкой прилагаю, подозреваю, что где-то здесь "собака порылась"...

Если у кого-нибудь будет возможность помочь с решением - помогите, пожалуйста.

Я же написал в чём ошибка.
Ответ кроется в описании ошибки и конструкторе атрибута.
Ты неправильные параметры передаёшь в конструктор [CommandMethod].

Оффлайн Андрей Афонин

  • ADN OPEN
  • Сообщений: 10
  • Карма: 0
Re: Проблема с загрузкой через netload
« Ответ #33 : 19-12-2022, 14:51:34 »
Огромное спасибо, Алексей и  Lemieux! Я не сразу врубился, в чем дело, и понял только, когда увидел исправленный код от Алексея.

Код - C# [Выбрать]
  1. [CommandMethod("Sdelay_PoperCS", CommandFlags.Modal & CommandFlags.UsePickSet & CommandFlags.Session)]

Внес эту правку - и у меня все запустилось.

С остальным - буду разбираться, я не все понял, для чего класс и методы сделаны static, и почему оператор "|" вместо "&".
Буду работать дальше, еще раз огромное спасибо!

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Re: Проблема с загрузкой через netload
« Ответ #34 : 19-12-2022, 15:02:08 »
static - для проверки. Такие вещи 100% загружаются
Насчет "|" vs "&" : https://help.autodesk.com/view/OARX/2023/ENU/?guid=GUID-F77E8FE0-8034-4704-93BD-F717608F8223
"|" - побитовое сложение, а "&" - логическое умножение : https://metanit.com/sharp/tutorial/2.22.php
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Lemieux

  • ADN OPEN
  • ****
  • Сообщений: 384
  • Карма: 21
Re: Проблема с загрузкой через netload
« Ответ #35 : 19-12-2022, 15:16:07 »
для чего класс и методы сделаны static
Если класс помечен как static, то все его члены тоже должны быть static. У статики есть свои ограничения.

Кстати, чем синглтон отличается от статического класса?

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Re: Проблема с загрузкой через netload
« Ответ #36 : 19-12-2022, 15:36:08 »
для чего класс и методы сделаны static
Если класс помечен как static, то все его члены тоже должны быть static. У статики есть свои ограничения.

Кстати, чем синглтон отличается от статического класса?
Лично я пока не знаю. А чем?
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Lemieux

  • ADN OPEN
  • ****
  • Сообщений: 384
  • Карма: 21
Re: Проблема с загрузкой через netload
« Ответ #37 : 19-12-2022, 15:55:45 »
Лично я пока не знаю. А чем?
Да я сам без понятия  ;D ждём объяснений от Андрей Афонин

PS Ещё интересно посмотреть поведение статического класса при использовании Utils.AddCommand().

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Re: Проблема с загрузкой через netload
« Ответ #38 : 19-12-2022, 16:04:52 »
На NET пока еще ни разу не определял команды динамически.
Off-Topic: показать
Сколько ж еще впереди-то, йо-майо?!
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 470
  • Карма: 63
Re: Проблема с загрузкой через netload
« Ответ #39 : 21-12-2022, 01:26:05 »
Цитировать
Кстати, чем синглтон отличается от статического класса?
у него есть конструктор

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Re: Проблема с загрузкой через netload
« Ответ #40 : 21-12-2022, 08:34:04 »
И все? А по поведению болт в болт одно и то же?
Что-то у меня подозрения, что SingleTone - это что-то из многопоточности
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Lemieux

  • ADN OPEN
  • ****
  • Сообщений: 384
  • Карма: 21
Re: Проблема с загрузкой через netload
« Ответ #41 : 21-12-2022, 09:41:34 »
Что-то у меня подозрения, что SingleTone - это что-то из многопоточности
Не путать с семафором.

у него есть конструктор
Кто мне мешает написать так?
Код - C# [Выбрать]
  1. public static class StaticClass
  2. {
  3.     static StaticClass()
  4.     {
  5.     }
  6.  
  7.     public static void Method()
  8.     {
  9.     }
  10. }

А у синглтона, на сколько мне известно, наоборот всегда прячат конструктор, чтобы экземпляр брать из метода или свойства.

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Re: Проблема с загрузкой через netload
« Ответ #42 : 21-12-2022, 10:07:19 »
Не, ребят, не так быстро! Мне б с однопоточностью еще доразобраться :) WPF, MVVM, MVC и теде - вот это вот все. :)
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 534
  • Карма: 117
Re: Проблема с загрузкой через netload
« Ответ #43 : 21-12-2022, 19:59:24 »
у него есть конструктор
И у того и того есть конструкторы.
https://metanit.com/sharp/tutorial/3.6.php

Кстати, чем синглтон отличается от статического класса?

Этот вопрос не имеет особого смысла. В паттернах главное понимать что этот паттерн (стандартное решение), используется для таких-то случаев, для таких случаев не подходит. И паттерно можно реализовать таким-то кодом, но код может быть изменен, главное подход.

К примеру у Вас есть настройки в программе, куда их можно деть? Да можно добавить в ресурсы проекта и т.д. Но куда Вы денете сохранение и загрузку настроек для программы? Возможно удобнее сделать класс Setting и внутри хранить настройки программы и методы Save и Load, все в одном месте. Далее возникает логичный вопрос, а сколько классов Setting у Вас должно быть в программе? Один? Тогда Вам нужен паттерн синглтон.

Далее вопрос как его реализовать, статическим классом или к примеру https://metanit.com/sharp/patterns/2.3.php, это не так Важно.
По сути вы уже выбрали паттерн синглтон, понимая, что нужен единственный объект, а реализацию можете выбрать любую из двух или модифицировать под потребности.