Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.98/43: Рейтинг темы: голосов - 43, средняя оценка - 4.98
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22

Подключить библиотеку dll

01.03.2017, 09:35. Показов 13179. Ответов 166
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Данным диалектом Бейсика не пользуясь, но иногда здесь бываю. Решил немного поучаствовать. Собственно вопрос в следующем: можно ли пользоватся сторонними библиотеками в этом диалекте, насколько сложен процесс использования? Цель - есть своя xll для VBA, можно убрать обертку будет dll, выложу здесь для тех кто много считает, большими числами) (Гугл не спрашивал ибо важно понять, есть целесообразность в данном продукте?)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.03.2017, 09:35
Ответы с готовыми решениями:

Не получается подключить библиотеку Unmanaged.dll (Firefox nss3.dll)
Здравствуйте, начал изучать c#, очень понравилась тема декриптования, для начала решил из исходников собрать приложение для декриптования и...

Подключить библиотеку dll
Имеется программа nircmd.exe, которая с помощью батника позволяет выполнять различные комманды К примеру запуск батника NirCmd.exe exec...

Как подключить dll библиотеку?
Здраствуйте, есть такой вопрос, как можно подключить *.dll библиотеку к код блокс или к вижал студио?

166
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
06.04.2018, 15:29  [ТС]
Студворк — интернет-сервис помощи студентам
А где у вас путь в декларации?
Цитата Сообщение от The trick Посмотреть сообщение
Set cSum = CreateCOMObject()
, разве это не позднее связывание (динамическое), уже при выполнении программы?
0
Эксперт по электронике
7173 / 3349 / 345
Регистрация: 28.10.2011
Сообщений: 13,194
Записей в блоге: 7
06.04.2018, 15:30
Цитата Сообщение от The trick Посмотреть сообщение
В качестве демонстрации платформо-независимости COM, сделал небольшой пример на C который не использует платформозависимые функции и возможности
Что-то все слишком усложнено. Достигнуть такого результата можно без IUnknown.
DLL.
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Structure Object
  *vTable
  ; Далее могут находится приватные переменные объекта.
EndStructure
 
Procedure Sum(*This.Object, a, b)
  ProcedureReturn a + b
EndProcedure
 
Procedure Release(*This.Object)
  If *This
    FreeMemory(*This)
    *This=0
  EndIf
EndProcedure
 
ProcedureDLL Create()
  
  *Object.Object = AllocateMemory(SizeOf(Object))
  If *Object
    *Object\vTable = ?vTable
  EndIf
  
  ProcedureReturn *Object
  
  DataSection
    vTable:
    Data.i @Sum(), @Release()
  EndDataSection
EndProcedure
EXE.
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Import "TestCOM.lib"
  Create()
EndImport
 
Interface IObject
  Sum(a, b)
  Release()
EndInterface
 
cSum.IObject = Create()
 
If cSum
  MessageRequester("", Str(cSum\Sum(10, 20)))
  cSum\Release()
EndIf
Если нужно чтобы одна функция Create() позволяла создавать несколько объектов, то проще и логичнее передавать его имя или идентификатор через аргумент функции т. е. Create("TestCOM") а не пользоваться для этого возможностями IUnknown идентифицируя через малопонятный GUID.

Подводя итог можно сказать что из преимуществ, разве что только одна экспортируемая функция, но при этом нужно знать какой интерфейс объекта, т. е. все равно нужна информация о списке функций и их параметрах. Так что преимущество спорное.
Вложения
Тип файла: zip TestCOM.zip (5.0 Кб, 1 просмотров)
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
06.04.2018, 15:47
Цитата Сообщение от bedvit Посмотреть сообщение
, разве это не позднее связывание (динамическое), уже при выполнении программы?
Нет, это способ создания объекта.

Цитата Сообщение от locm Посмотреть сообщение
Что-то все слишком усложнено. Достигнуть такого результата можно без IUnknown.
Нет.
Во-первых, где счетчик ссылок? Если объект передается куда-то там в другую процедуру, как основное приложение определит когда нужно очистить объект?
Во-вторых, как на этом примере реализуется концепция интерфейсов? К примеру один объект реализует несколько интерфейсов, как это будет выглядеть в этом коде?

Цитата Сообщение от locm Посмотреть сообщение
Если нужно чтобы одна функция Create() позволяла создавать несколько объектов, то проще и логичнее передавать его имя или идентификатор через аргумент функции т. е. Create("TestCOM") а не пользоваться для этого возможностями IUnknown идентифицируя через малопонятный GUID.
А причем тут IUnknown для создания объекта? IUnknown служит для запроса интерфейса и управления жизнью COM объекта.

Цитата Сообщение от locm Посмотреть сообщение
Если нужно чтобы одна функция Create() позволяла создавать несколько объектов, то проще и логичнее передавать его имя или идентификатор через аргумент функции
Так и делается. См. определение функции DllGetClassObject.

Цитата Сообщение от locm Посмотреть сообщение
Подводя итог можно сказать что из преимуществ, разве что только одна экспортируемая функция, но при этом нужно знать какой интерфейс объекта, т. е. все равно нужна информация о списке функций.
Ну во-первых, не зная параметры функций - как работать, это просто не имеет смысла. Во-вторых, раз уж так хочется, то есть OLE Automation и позднее связывание (как-то же это работает в vbs/vba/1С?). В-третьих, в примере не продемонстрировано множественное наследование интерфейсов, как в моем примере на C (интерфейсы ISum, IDiff). (Я бы тоже мог сделать пустышки для IUnknown и код был бы ну на 2 строчки больше твоего по функционалу это было бы одно и тоже). В-четвертых, для Windows мы имеем большое количество вспомогательных функций для работы с COM (загрузка в отдельный процесс, независимость от битности, синхронизация для STA, ....). В-пятых, с твоей DLL не будут работать языки VBA/VB6/VBS/JS/1С как минимум.
0
Эксперт по электронике
7173 / 3349 / 345
Регистрация: 28.10.2011
Сообщений: 13,194
Записей в блоге: 7
06.04.2018, 16:05
Цитата Сообщение от The trick Посмотреть сообщение
Во-первых, где счетчик ссылок? Если объект передается куда-то там в другую процедуру, как основное приложение определит когда нужно очистить объект?
Зачем он нужен в данном случае? Вызов метода Release() уничтожит объект. В коде это видно.

Цитата Сообщение от The trick Посмотреть сообщение
Во-вторых, как на этом примере реализуется концепция интерфейсов? К примеру один объект реализует несколько интерфейсов, как это будет выглядеть в этом коде?
Именно это подразумевал под
Цитата Сообщение от locm Посмотреть сообщение
Если нужно чтобы одна функция Create() позволяла создавать несколько объектов, то проще и логичнее передавать его имя или идентификатор через аргумент функции т. е. Create("TestCOM") а не пользоваться для этого возможностями IUnknown идентифицируя через малопонятный GUID.


Цитата Сообщение от The trick Посмотреть сообщение
Во-вторых, раз уж так хочется, то есть OLE Automation и позднее связывание (как-то же это работает в vbs/vba/1С?)
Цитата Сообщение от The trick Посмотреть сообщение
См. определение функции DllGetClassObject.
А как же платформонезависимость? Работать с DllGetClassObject придется напрямую и думаю понимаете что получится гораздо сложнее чем экспорт функций из процедурной DLL.

Цитата Сообщение от The trick Посмотреть сообщение
В-пятых, с твоей DLL не будут работать языки VBA/VB6/VBS/JS/1С как минимум.
Зато многие другие будут работать (их намного больше), которые позволяют экспортировать функции из DLL. Среди перечисленных это умеют как минимум VBA и VB6.
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
06.04.2018, 16:10  [ТС]
del
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
06.04.2018, 16:19
Цитата Сообщение от locm Посмотреть сообщение
Зачем он нужен в данном случае? Вызов метода Release() уничтожит объект. В коде это видно.
Как зачем? Ну мы реализуем DLL которая распоряжается объектом, а если она передает объект в другую DLL, а та в свою очередь где-то хранит его для дальнейшей работы с ним. Да и мы сами можем передавать объект в другие классы, которые могут хранить ссылку на этот объект. Когда в таком случае очищать память?

Цитата Сообщение от locm Посмотреть сообщение
Именно это подразумевал под
Ты написал "несколько объектов". Причем тут несколько объектов, если речь идет о нескольких интерфейсах? Один объект может реализовать множество интерфейсов. Не путай объект и интерфейс. К примеру у меня один объект, я его инициализирую к примеру данными, потом запрашиваю другой интерфейс и с этим объектом работаю, не с новым. Это называется полиморфизм.

Цитата Сообщение от locm Посмотреть сообщение
А как же платформонезависимость? Работать с DllGetClassObject придется напрямую и думаю понимаете что получится гораздо сложнее чем экспорт функций из процедурной DLL.
А причем тут кроссплатформенность? Ну вызывай эту функцию из Linux, в чем проблема? Не нравится, хорошо создай свою другую как у меня CreateCOMObject.

Цитата Сообщение от locm Посмотреть сообщение
Зато многие другие будут работать (их намного больше), которые позволяют экспортировать функции из DLL. Среди перечисленных это умеют как минимум VBA и VB6.
Те, многие другие будут работать и с COM DLL. С COM мы получаем множество преимуществ, я уже приводил пример с плагинами. Не знаю как это реализовать без "костылей" через кучу экспортируемых функций.
0
Эксперт по электронике
7173 / 3349 / 345
Регистрация: 28.10.2011
Сообщений: 13,194
Записей в блоге: 7
06.04.2018, 16:47
Цитата Сообщение от The trick Посмотреть сообщение
Как зачем? Ну мы реализуем DLL которая распоряжается объектом, а если она передает объект в другую DLL
Если объект используется зачем его уничтожать? Функция Create() создает, а вызов метода Release() уничтожает. Все просто и логично.

Цитата Сообщение от The trick Посмотреть сообщение
я уже приводил пример с плагинами. Не знаю как это реализовать без "костылей" через кучу экспортируемых функций.
WinAPI хороший пример подобной реализации.
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
06.04.2018, 17:01  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
, разве это не позднее связывание (динамическое), уже при выполнении программы?
Нет, это способ создания объекта.
Да похоже так. Был невнимателен.

В некоторых языках, конечному пользователю, действительно проще работать с COM. CreateObject() и погнал...
По-моему полезная дискуссия, плюсы/минусы всплывают. Давно хотел понять зачем нужна COM, думаю не только мне будет интересно.
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
06.04.2018, 17:01
Цитата Сообщение от locm Посмотреть сообщение
Если объект используется зачем его уничтожать? Функция Create() создает, а вызов метода Release() уничтожает. Все просто и логично.
Нет. Если бы все было так просто люди не городили смарт поинтеры и т.п. вещи. К примеру ты создаешь объект в процедуре и передаешь его в API, а она к примеру хранит этот объект. Когда ты должен его удалять? При выходе из процедуры? А если другая библиотека его использует? Будет креш? Счетчик решает эту проблему посредством инкриминирования. Ты вышел из зоны видимости и декриминировал счетчик, когда объект никому не нужен счетчик его обнуляется и он удаляется.

Цитата Сообщение от locm Посмотреть сообщение
WinAPI хороший пример подобной реализации.
WinAPI - это плагины?
0
Эксперт по электронике
7173 / 3349 / 345
Регистрация: 28.10.2011
Сообщений: 13,194
Записей в блоге: 7
06.04.2018, 19:12
Цитата Сообщение от The trick Посмотреть сообщение
К примеру ты создаешь объект в процедуре и передаешь его в API, а она к примеру хранит этот объект. Когда ты должен его удалять?
Это должно быть документировано. Тогда вопросов не возникнет.

Цитата Сообщение от The trick Посмотреть сообщение
WinAPI - это плагины?
Это пример как можно обойтись без объектов. Не исключено что WinAPI функции работают с объектами, к примеру hWnd может быть объектом (а может и не быть).
0
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
07.04.2018, 06:12
Цитата Сообщение от bedvit Посмотреть сообщение
По-моему полезная дискуссия
А по мне, как со стороны видно, так это обычный холивар между профессионалом, который владеет всеми современными технологиями программирования и человеком, который застрял в процедурном программировании и не владеет знаниями о ООП, а от того не видит ни каких преимуществ.
Но главный вопрос топика таки остался нерешённым -
Цитата Сообщение от bedvit Посмотреть сообщение
Собрал dll под разную разрядность:
удалось ли подключить Вашу либу к этим простым языкам FB и PB? Насколько быстро это работает, и возможно собственные решения на FB или PB работают быстрее?
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
07.04.2018, 09:01
Цитата Сообщение от locm Посмотреть сообщение
Это должно быть документировано. Тогда вопросов не возникнет.
Ты не сможешь предусмотреть все варианты. В случае когда твою библиотеку использует другая библиотека которая в свою очередь используется приложением создающим объекты, имеющими свойства в виде других объектов это будет головная боль. К примеру какой-нибудь контейнер который хранит объекты разного типа. Для COM это просто вызов Release когда объект больше не используется и никаких проверок типов объектов (если их несколько) и отслеживания жизни объекта. Прекрасный аналогичный пример - умные указатели в C++.

Цитата Сообщение от locm Посмотреть сообщение
Это пример как можно обойтись без объектов.
Причем здесь плагины? Перефразирую, в каком месте WinAPI реализована концепция плагинов? Все плагины в Windows реализованы через COM, к примеру расширения оболочки.

Цитата Сообщение от locm Посмотреть сообщение
Не исключено что WinAPI функции работают с объектами, к примеру hWnd может быть объектом (а может и не быть).
Во-первых, существуют множество функций работающих с COM объектами в WinAPI. Во-вторых, насколько мне известно WINAPI разрабатывался еще на C и для C программистов еще очень давно, а MS заботится об обратной совместимости. Та же работа с DirectX (любая версия) основана на COM, работа со звуком, различные новые функции работы с диалоговыми окнами, работа с файлами, все основано на COM.
Второй момент это то что я не являюсь противником классического подхода, я спрашиваю чем COM хуже? Также показываю его преимущества перед классическим методом, что в некоторых случаях COM более удобен.
0
Эксперт по электронике
7173 / 3349 / 345
Регистрация: 28.10.2011
Сообщений: 13,194
Записей в блоге: 7
07.04.2018, 11:23
Цитата Сообщение от The trick Посмотреть сообщение
Для COM это просто вызов Release когда объект больше не используется
А если забыть вызвать Release или вызвать несколько раз?
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
07.04.2018, 12:52
Цитата Сообщение от locm Посмотреть сообщение
А если забыть вызвать Release или вызвать несколько раз?
Забыв вызвать Release - получишь утечку памяти также как в твоем случае. Вызвав несколько раз - получишь креш, также как у тебя, но кто будет вызывать Release несколько раз и зачем?
В COM получил объект, поработал с ним - вызвал Release. В твоем случае непонятно когда вызывать Release.
0
Эксперт по электронике
7173 / 3349 / 345
Регистрация: 28.10.2011
Сообщений: 13,194
Записей в блоге: 7
07.04.2018, 14:44
Цитата Сообщение от The trick Посмотреть сообщение
Забыв вызвать Release - получишь утечку памяти также как в твоем случае.
Т. е. в реальности преимуществ нет.

Цитата Сообщение от The trick Посмотреть сообщение
В твоем случае непонятно когда вызывать Release.
Когда экземпляр объекта больше не нужен. По коду должно быть понятно. Create создает экземпляры объекта, а Release их удаляет. Считай что Create это конструктор, а Release деструктор.
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
07.04.2018, 14:52
Цитата Сообщение от locm Посмотреть сообщение
Т. е. в реальности преимуществ нет.
Есть. В моем случае понятно когда вызывать Release.

Цитата Сообщение от locm Посмотреть сообщение
Когда экземпляр объекта больше не нужен. По коду должно быть понятно. Create создает экземпляры объекта, а Release их удаляет. Считай что Create это конструктор, а Release деструктор.
Как ты можешь знать когда экземпляр больше не нужен? Это головная боль даже если ты просто в своем приложении используешь объекты, но если твои объекты используются не тобой - то это почти невозможно предугадать. Самый простой пример - это ресурсы Windows. К примеру тот-же hProcess, любое приложение может открыть кучу дескрипторов одного и того же процесса. В Windows ведется учет через счетчик ссылок. Когда все приложения закроют хендлы тогда объект удалится т.к. счетчик обнулится. Теперь просто перенесем эту концепцию на COM объекты, клиенты получают доступ к COM объекту, т.к. тут есть счетчик ссылок, то все понятно когда все клиенты "закроют хендлы" вызовут Release объект можно удалить. В твоем случае когда вызывать Release без счетчика ссылок?
0
Эксперт по электронике
7173 / 3349 / 345
Регистрация: 28.10.2011
Сообщений: 13,194
Записей в блоге: 7
07.04.2018, 15:06
Цитата Сообщение от The trick Посмотреть сообщение
В моем случае понятно когда вызывать Release.
В моем тоже. Когда экземпляр объекта больше не нужен, следует вызвать Release.

Цитата Сообщение от The trick Посмотреть сообщение
Как ты можешь знать когда экземпляр больше не нужен?
Если я пишу программу то могу знать, также как знаю когда следует освободить память, запрошенную у системы, или закрыть ранее открытый файл, или любой другой ресурс запрошенный у системы через WinAPI.

Цитата Сообщение от The trick Посмотреть сообщение
К примеру тот-же hProcess, любое приложение может открыть кучу дескрипторов одного и того же процесса.
Это помешает завершить процесс? Что будет с этой кучей дескрипторов, есть процесс больше не существует?

Цитата Сообщение от The trick Посмотреть сообщение
Это головная боль даже если ты просто в своем приложении используешь объекты, но если твои объекты используются не тобой - то это почти невозможно предугадать.
Цитата Сообщение от The trick Посмотреть сообщение
клиенты получают доступ к COM объекту, т.к. тут есть счетчик ссылок, то все понятно когда все клиенты "закроют хендлы" вызовут Release объект можно удалить.
А если в коде ошибка из-за которой Release будет вызван большее или меньшее чем необходимо число раз (о чем я писал выше)? Так что метод с подсчетом ссылок не решает проблемы корректного использования объекта сторонним кодом.
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
07.04.2018, 15:10  [ТС]
Цитата Сообщение от Pro_grammer Посмотреть сообщение
удалось ли подключить Вашу либу к этим простым языкам FB и PB? Насколько быстро это работает, и возможно собственные решения на FB или PB работают быстрее?
здесь обсуждение по этой теме:
iforum . pro / freebasic-93 / podklyuchit-biblioteku-dll-7772 / index6.html#post28961 (ссылку не пропускает, удалите пробелы)

Цитата Сообщение от Pro_grammer Посмотреть сообщение
А по мне, как со стороны видно, так это обычный холивар между профессионалом, который владеет всеми современными технологиями программирования и человеком, который застрял в процедурном программировании и не владеет знаниями о ООП, а от того не видит ни каких преимуществ.
в том и интерес, считаю. Разные точки зрения дают больше информации.
0
Модератор
10067 / 3912 / 885
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
07.04.2018, 15:17
Цитата Сообщение от locm Посмотреть сообщение
В моем тоже. Когда экземпляр объекта больше не нужен, следует вызвать Release.
Кому не нужен? Как ты можешь знать кто использует твой объект извне? Ты говоришь о самом простом случае создал объект, попользовался - удалил. Я говорю о другом сценарии, создал объект и его ссылку скопировали себе 10 других Dll, когда вызывать Release?

Цитата Сообщение от locm Посмотреть сообщение
Если я пишу программу то могу знать, также как знаю когда следует освободить память, запрошенную у системы, или закрыть ранее открытый файл, или любой другой ресурс запрошенный у системы через WinAPI.
Теперь мысленно перенеси себя не на пользователя ресурсов WinAPI, а на провайдера ресурсов и станет понятно.

Цитата Сообщение от locm Посмотреть сообщение
Это помешает завершить процесс? Что будет с этой кучей дескрипторов, есть процесс больше не существует?
А причем тут завершение процесса? Это совершенно другой процесс. Ты что не разу не отслеживал завершение процесса или потока? Что происходит с хендлом тогда? Да ничего, объект ядра процесс не удалится пока не будут закрыты все дескрипторы. Ты все также можешь получить код завершения процесса и т.п.

Цитата Сообщение от locm Посмотреть сообщение
А если в коде ошибка из-за которой Release будет вызван большее или меньшее чем необходимо число раз (о чем я писал выше)?
Ну ошибка - это ошибка. Мы говорим о корректном коде. В твоем случае все тоже самое.

Цитата Сообщение от locm Посмотреть сообщение
Так что метод с подсчетом ссылок не решает проблемы корректного использования объекта сторонним кодом.
Так корректного использования или некорректного? При корректном использовании все будет работать нормально.
0
Эксперт по электронике
7173 / 3349 / 345
Регистрация: 28.10.2011
Сообщений: 13,194
Записей в блоге: 7
07.04.2018, 15:31
Цитата Сообщение от The trick Посмотреть сообщение
Так корректного использования или некорректного? При корректном использовании все будет работать нормально.
При корректном использовании и мой метод нормально работает.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.04.2018, 15:31

Как подключить .dll библиотеку?
Есть готовый код на С++ /*---------------------------------------------------------------------------- * * демонстрация ElByECC.DLL ...

Не могу подключить dll библиотеку
Вообщем есть библиотека Visa32.dll и я не могу ее подключить. Так же есть два заголовочных файла - Visa.h и visatype.h. В про файле...

Как подключить библиотеку 7z.dll?
Как подключить библиотеку 7z.dll. Я скачал архив с сурсами, откопал 7z.dll пытаюьс добавить в проект ошибка "Не удалось добавить сылка...

Как подключить библиотеку i7000.dll?
у меня есть библиотека i7000.dll библиотека необходимая для работы с com портами все остальное работает нормально а эта работает только с 3...

Как подключить библиотеку shell32.dll ?
Решил воспользоваться примером открытия файла с помощью необходимого приложения. В примере используется API, команда. Я сделал всё как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
140
Ответ Создать тему
Новые блоги и статьи
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru