|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
Есть программа, которая написала на C#. Необходимо реализовать к ней плагин. Дана платформа встраивания в виде DLL, а в ней определены интерфейсы. В .Net я новичок. В документации для разработки сказано, что реализовывать плагин следует исключительно на языке, поддерживающем .Net Framework 4.0. И еще сказано, что система подключения плагинов построена на технологии MAF. Кто знаком с нутром этой технологии, скажите пожалуйста, возможно ли написать плагин например на delphi, не поддерживающем .Net Framework? Как доказать руководству, что нужно осваивать шарп для этой задачи? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 14:10 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
sevaselВ документации для разработки сказано, что реализовывать плагин следует исключительно на языке, поддерживающем .Net Framework 4.0. .... возможно ли написать плагин например на delphi, не поддерживающем .Net Frameworkто есть ни для вас ни для руководства официальная документация не авторитет? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 14:13 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
Antonariy,авторитет. я пытался разобраться с нутром, но я ничего не понимаю, вот честно. если вы знаете, подскажите, технические ограничения, которые не позволяют писать на чем-то другом? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 14:23 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
sevaselесли вы знаете, подскажите, технические ограничения, которые не позволяют писать на чем-то другом? 1) формат PE файла, используемый в .net 2) вместо машинных команд в PE файле используются инструкции виртуальной машины (MSIL) для начала достаточно? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 14:41 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
Изопропил, это нутро самого Framework по идее. Так зачем тогда такие технологии, если они блокируют межязыковое взаимодействие!? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 15:09 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
sevaselТак зачем тогда такие технологии, если они блокируют межязыковое взаимодействие!? блокирует взаимодействие нежелание или неспособность учиться ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 15:19 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
вот нашел тут http://krez0n.org.ua/archives/248 информацию о том, как работать с интерфейсами из dll, написанной на C#. Оказывается нужно пометить сборку как COM-импортируемую. Если исходников конечно же нет этой библиотеки, то как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 16:11 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
нанять специалиста. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 16:15 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
Antonariy, а что будет делать специалист? писать на C#? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 16:31 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
да. у него этих проблем не будет: sevasel но я ничего не понимаю, ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 16:35 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
petalvik, это мой топик ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 16:59 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
без Register for COM получается нельзя сделать доступным оболочку COM? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 17:07 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
sevaselбез Register for COM получается нельзя сделать доступным оболочку COM? COM то здесь при чём, если sevaselВ документации для разработки сказано, что реализовывать плагин следует исключительно на языке, поддерживающем .Net Framework 4.0 Был бы интерфейс плагина COM - можно было бы писать и на дельфи без net ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 17:53 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
Изопропил, Идея ТСа - сделать реверс инженеринг предоставленной dll и сделать его COM interoperable, чтобы .NET не нужно было использовать. Ну не ищет человек простых путей ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 18:11 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
пусть враппер напишет ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2015, 00:18 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
вроде ж дельфи уже может компилить в msil, не? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2015, 03:21 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
AxeleronИзопропил, Идея ТСа - сделать реверс инженеринг предоставленной dll и сделать его COM interoperable, чтобы .NET не нужно было использовать. Ну не ищет человек простых путей ;)чо? автору дали прогу, в которую втыкаются maf-плагины и задание написать плагин. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2015, 11:33 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
Pallarisвроде ж дельфи уже может компилить в msil, не? Кстати да. В Вики пишут, что раньше могла, но новые версии уже не могут. Однако, учитывая, что делфисты любят сидеть на старом г-не, это вряд ли проблема. Ну и некий Prism предлагается. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2015, 17:02 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
отбросил идею с delphi. разбираюсь с азами C# и с тестовым примером. приходится начинать знакомство как мне кажется не с самого тривиального. интерфейсы и плагины. ну не ругайте! в документации сказано: интерфейс, который предоставляет дополнение (плагин) для взаимодействия, должен наследоваться от базового интерфейса IBasePlugin<THost> и ,при необходимости, от одного или нескольких доступных интерфейсов платформы встраивания, помеченных атрибутом Plugin, а также быть пустым в тестовом примере это выглядит так: Код: c# 1. 2. 3.
А описание IBasePlugin внутри библиотеки платформы встраивания Код: c# 1. 2. 3. 4.
IPayPlugin реализован: Код: c# 1. 2. 3. 4. 5.
поясните, пожалуйста, кому не сложно, этот момент с обобщенным интерфейсом(?) p.s. тестовый пример написан на старой версии библиотеки платформы встраивания. в новой при просмотре в утилите ILDASM есть описание интерфейса IBasePlugin с одним методом Initialize(!TIHost host) что за отрицание в параметре метода? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2015, 11:52 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
как понимаю я. так сделано чтобы реальный интерфейс хоста был доступен через свойство Host? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2015, 11:59 |
|
Интерфейсы в dll
|
|||
---|---|---|---|
#18+
sevasel, TIHost объявлен в библиотеке как дженерик. Пример реализации интерфейса плагина: public interface ITestPluginHost : IDBAccess { } public interface ITestPlugin : IBasePlugin<ITestPluginHost> { } public class TestPlugin : ITestPlugin { public void Initialize(ITestPluginHost host) { var cs = host.GetConnectionString(); MessageBox.Show("Method Initialize of TestPlugin called. TestPlugin - OK\n" + "Calling GetConnectionString of host returns: " + cs); } } ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 11:39 |
|
|
start [/forum/topic.php?fid=20&msg=38993668&tid=1400548]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 159ms |
0 / 0 |