Лицензия компонента для плагинов (библиотек)
Select messages from
# through # FAQ
[/[Print]\]
Goto page 1, 2  Next  :| |:
Total Commander -> Написание плагинов для Total Commander

#1: Лицензия компонента для плагинов (библиотек) Author: МоторокерLocation: г. Пермь (читается Перьмь) PostPosted: Mon Oct 08, 2007 09:15
    —
Есть лицензия к компоненту:
Terms of use wrote:
This software comes without express or implied warranty.
In no case shall the author be liable for any damage or unwanted behavior of any computer hardware and/or software.
*** grants you the right to include the compiled component in your application, whether COMMERCIAL, SHAREWARE, or FREEWARE, BUT YOU MAY NOT DISTRIBUTE THE SOURCE CODE OR ITS COMPILED .DCU IN ANY FORM.
%%% may not be included in any commercial, shareware or freeware libraries or components.
...

Синим выделеной мной.

Можно ли использовать компонент для написания плагинов для Total Commander (это библиотеки DLL)?
Или надо написать EXE, а затем вызывать его из плагина?

Вот ответ автора:
Fabrizio wrote:
I know nothing about Total Commander, so I cannot reply this question. Anyway ImageEn cannot be used to build components, libraries, etc (due license limitations).

Он не знает про Total Commander, но всё равно в библиотеках компонент использовать нельзя.

#2:  Author: B4rr4cudaLocation: Россия, Москва PostPosted: Mon Oct 08, 2007 13:24
    —
Напиши екзешник с экспортами ТСшных фунц.
Лицензия будет соблюдена, тока прописывать плаг в wincmd.ini придёться ручками...

#3:  Author: B4rr4cudaLocation: Россия, Москва PostPosted: Mon Oct 08, 2007 13:29
    —
Вдогонку
Quote:
В DPR файле совершенно обычного проэкта дельфи можно указать функцию (процедуру) и объявить ее как экспортируемую - синтаксис точно такой-же как при создании стандартной DLL. С таким довеском EXE совершенно нормально компиллируется и работает и как EXE и как DLL (т.е. из нее можно импортировать описанные функции). Зачем это нужно? Была одна задача - делал консоль которая связывала воедино несколько приложений, так экспортные функции позволяли существенно расширять функциональность комплекса. Правда такой EXE все же имеет недостаток - EXE упаковщики сохраняют исполняемую часть и неправильно упаковывают экспортированную...

©DelphiWorld

#4:  Author: VadiMGP PostPosted: Mon Oct 08, 2007 14:42
    —
B4rr4cuda wrote:
Напиши екзешник с экспортами ТСшных фунц.
Это называется - прикинуться шлангом. Smile Понятие "компонент" не формализовано. Если я напишу COM объект в виде экзешника, он не перестанет быть компонентом.

#5:  Author: МоторокерLocation: г. Пермь (читается Перьмь) PostPosted: Mon Oct 08, 2007 15:14
    —
VadiMGP wrote:
B4rr4cuda wrote:
Напиши екзешник с экспортами ТСшных фунц.
Это называется - прикинуться шлангом. Smile

Дык компонент и не нужен.

С одной стороны, включать компилированную версию в приложения можно:
Quote:
include the compiled component in your application


Но если расшарить часть функций приложения (екзешник с экспортами ТСшных фунц), оно станет библиотекой?

#6:  Author: VadiMGP PostPosted: Mon Oct 08, 2007 15:20
    —
Моторокер wrote:
Дык компонент и не нужен.
Тогда и проблем нет. Если основная функциональность твоей программы доступна сама по себе, без коммандера, то и претензий быть не должно, на мой взгляд.
Добавлено.Например, никто в здравом уме не назовет IrfanView компонентом, хотя он прекрасно обслуживает нужды ТС.

#7:  Author: Alextp PostPosted: Mon Oct 08, 2007 18:47
    —
Моторокер wrote:
Но если расшарить часть функций приложения (екзешник с экспортами ТСшных фунц), оно станет библиотекой?


Да, станет
Хотя, считать ли плагин к ТС библиотекой, не знаю.


Quote:
Если основная функциональность твоей программы доступна сама по себе, без коммандера, то и претензий быть не должно, на мой взгляд.

Почти согласен с Вадимгп

#8:  Author: mutexLocation: Казахстан PostPosted: Mon Oct 08, 2007 19:41
    —
Quote:
Почти согласен с Вадимгп

Вадим, к сожалению, не прав.
Quote:
Он не знает про Total Commander, но всё равно в библиотеках компонент использовать нельзя

Любой плагин является библиотекой, только с нестандартным расширением имени файла. Например, WLX означает WindowsCommander Lister Extension. Т.е. все эти расширения имени файла имеют смысл и придуманы Гислером, что не меняют их сути.
Таким образом, Вы не имеете права на использование данного компонента. Sad

К слову, компонент также является частным случаем библиотеки.

#9:  Author: VadiMGP PostPosted: Mon Oct 08, 2007 20:19
    —
mutex wrote:
Вадим, к сожалению, не прав.
Уточни, пожалуйста, в чем именно?
Я думаю, мы просто по разному понимаем слово "компонент". Я считаю, что фразу "may not be included in any commercial, shareware or freeware libraries or components" надо читать как "не может быть использован при разработке любой коммерческой, шароварной или фриварной библиотеки или компоненты" (вольный стиль). При такой трактовке я не вижу где я неправ. Но возможно, у тебя другое прочтение этой фразы.

#10:  Author: Alextp PostPosted: Mon Oct 08, 2007 21:01
    —
Вот тут ты можешь быть неправ:

>>Если основная функциональность твоей программы доступна сама по себе, без коммандера, то и претензий быть не должно

#11:  Author: mutexLocation: Казахстан PostPosted: Mon Oct 08, 2007 21:47
    —
Quote:
Уточни, пожалуйста, в чем именно?


Если лицензия компонента разрешает включать его только в приложение, то нельзя его использовать в плагинах, независимо от расширения плагина, будь оно wlx, exe или еще что-нибудь другое. Потому что, плагин не является приложением ОС.
Я так понял, но вполне могу ошибиться. Smile

#12:  Author: VadiMGP PostPosted: Mon Oct 08, 2007 22:32
    —
mutex wrote:
то нельзя его использовать в плагинах, независимо от расширения плагина, будь оно wlx, exe или еще что-нибудь другое.
Так я то же самое говорил. Smile Именно поэтому и обозвал совет Барракуды "прикинуться шлангой". Но поскольку Моторокер сказал "Дык компонент и не нужен.", то я понял его так, что у него нет цели разрабатывать именно плагин. Но как-то с ТС это все равно связано. Поэтому и привел пример c Ирфаном - самостоятельная аппликация, никакой не плагин. А то, что ее можно использовать в связке с ТС, это уже "приятный доп. сервис".

#13:  Author: Alextp PostPosted: Mon Oct 08, 2007 23:18
    —
Quote:
то я понял его так, что у него нет цели разрабатывать именно плагин

В первом посте написано, что именно плагин.
Опять не понял.

#14:  Author: B4rr4cudaLocation: Россия, Москва PostPosted: Mon Oct 08, 2007 23:55
    —
mutex wrote:
Если лицензия компонента разрешает включать его только в приложение, то нельзя его использовать в плагинах, независимо от расширения плагина, будь оно wlx, exe или еще что-нибудь другое.

Что не запрещенно, то разрешено. Если прямого запрета нет, то почему бы этим не воспользоваться?

Alextp wrote:
В первом посте написано, что именно плагин. Опять не понял.

Моторокер видимо хочет написать екзешку под управлением плагина. Прямая аналогия с IrfanView.
Лицензия в этом случае сохраняеться в полной мере.

Мой вариант - "експорт из екзе", как правильно выразился VadiMGP, позволяет "прикинуться шлангой" Smile . И поди докажи, что этот плаг не екзе. Smile
Я бы так и сделал, из чувства противоречия. Very Happy

#15:  Author: B4rr4cudaLocation: Россия, Москва PostPosted: Tue Oct 09, 2007 00:48
    —
Очень заинтересовался этим вопросом, появился азарт. Погуглил немного...

Wiki говорит:
Quote:
DLL (англ. Dynamic-link library — динамически подключаемая библиотека) — понятие операционной системы Microsoft Windows; динамическая библиотека, позволяющая многократное применение различными программными приложениями. K DLL относятся также элементы управления ActiveX и драйвера. В мире UNIX аналогичные функции выполняют т. н. shared objects («разделяемые объекты»).

Формат файлов DLL придерживается тех же соглашений, что и формат исполняемых файлов EXE, сочетая код, таблицы и ресурсы.

Обратите внимание на выделенное.

MSDN говорит:
Quote:
A dynamic-link library (DLL) is a module that contain functions and data that can be used by another module (application or DLL).


Т.е. любой модуль, будь то приложение или библиотека, содержащий функции или данные, которые могут быть использованны другим приложением или библиотекой, попадает под определение DLL.

НО тот же MSDN уточняет:
Quote:

Even though DLLs and applications are both executable program modules, they differ in several ways.
To the end-user, the most obvious difference is that DLLs are not programs that can be directly executed. From the system's point of view, there are two fundamental differences between applications and DLLs:

[1] An application can have multiple instances of itself running in the system simultaneously, whereas a DLL can have only one instance.
[2] An application can own things such as a stack, global memory, file handles, and a message queue, but a DLL cannot.


Т.е. есть два глобальных различия между DLL и EXE:
[1] Приложение (EXE) может ( может - трактовать как имеет возможность) быть запущенно в нескольких экземплярах одновременно.
[2] Приложение может обладать собственным стеком, памятью, указателями и очередью сообщений, а DLL не может.

Кто докажет что EXE с експортами - DLL, "пусть первый бросит в меня камень" © О. Бендер



Total Commander -> Написание плагинов для Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page 1, 2  Next  :| |:
Page 1 of 2

Powered by phpBB © 2001, 2005 phpBB Group