Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.04.27;
Скачать: CL | DM;

Вниз

COM объект на .NET вызов из Delphi   Найти похожие ветки 

 
Sign   (2013-11-05 14:02) [0]

Есть библиотека (файл с расширением dll), созданная на .Net.
По описанию, которое идет к этой библиотеке, якобы, это COM объект. В поставке к библотеке есть примеры на VB.Net.
Вот, вызов:

Imports MySignature = Wrapper.SData
...
Dim Sign As MySignature
Sign = New MySignature
WriteLog("Version: " + Sign.Version)
...


Пытаюсь запустить на Delphi.
По неясным мне причинам вызов объекта не срабатывает:

 var Obj:OleVariant;
begin
 Obj:=CreateOleObject("Wrapper.SData"); //недопустимая строка с указанием класса


Что не так? Может нужно создать библитеку типов? До этого имел опыт работы с обычными объектами — все работало.
Может объекты созданные в .Net отличаются? Спасибо.


 
sniknik ©   (2013-11-05 14:06) [1]

32 или 64 битная версия объекта? и какая дельфя?


 
Sign   (2013-11-05 14:12) [2]

Delphi7.
Библиотека 32 битная.


 
sniknik ©   (2013-11-05 14:12) [3]

не знаю как там с .Net, не сталкивался, а вот с IE (TWebBrowser) были случаи когда 64х битная версия установлена а 32нет, и прога на 7й дельфе соответственно не работала.
хотя там ActiveX, а не просто COM, но как вариант...


 
sniknik ©   (2013-11-05 14:15) [4]

> Imports MySignature = Wrapper.SData
а вот это точно определение обьекта?
в VB script было типа -
Set oShell = Wscript.CreateObject("WScript.Shell")


 
Sign   (2013-11-05 14:24) [5]

>а вот это точно определение обьекта?

Не знаю. Не знаток VB.Net. Но дело в том, что файлов с именем "Wrapper.SData" нет и близко. Да и вообще, в папке с примером только  vb, vbproj, config, resx. В них тоже ничего интересного нет.


 
sniknik ©   (2013-11-05 14:46) [6]

> что файлов с именем "Wrapper.SData"
если это COM то это не имя файла, а строка в реестре по которой определяется гуид обьекта... ну в общем то сам объект.
когда создаешь COM можешь указать любое имя, и даже не одно. совпадения с именем файла "случайны". ну например для 1с - "V82.Application" при том что файл - "1cv8.exe".


 
sniknik ©   (2013-11-05 14:47) [7]

> Есть библиотека (файл с расширением dll), созданная на .Net.
кстати, а что говорит при выполнении "regsvr32 файл с расширением dll" ?


 
Sign   (2013-11-05 14:59) [8]

> кстати, а что говорит при выполнении "regsvr32 файл с расширением dll" ?

...dll была загружена, но найти точку входа для DllRegisterServer не удалось. Зарегистрировать этот файл невозможно.


 
sniknik ©   (2013-11-05 15:25) [9]

х.з., возможно конечно, что написанное на .Net нужно регистрировать как то по другому... но скорее всего это не COM объект.
или не стандартный (есть еще вариант когда регистрируется не сам исполняемый файл, а через файл c расширением tlb, но тогда он должен присутствовать в поставке)


 
sniknik ©   (2013-11-05 15:28) [10]

> есть еще вариант
+
сомневаюсь кстати, что в 32-битной версии dll найдет "точку входа" 64-битная regsvr32... как и наоборот впрочем.


 
sniknik ©   (2013-11-05 15:40) [11]

> х.з., возможно конечно, что написанное на .Net нужно регистрировать как то по другому...
ага
http://msdn.microsoft.com/ru-ru/library/tzat5yw6%28v=VS.100%29.aspx


 
Sign   (2013-11-05 16:21) [12]

2 sniknik ©   (05.11.13 15:40) [11]

Попробовал. Опять не хочет.
regasm SignWrapper.dll /tlb:mySign.tlb
RegAsm error: Failed to load "путь к файлу" because it is not a valid .NET assembly

Написал в поддержку. Жду ответа. Пока больше вопросов, чем ответов.


 
VICTOR_   (2013-11-05 19:47) [13]

См. http://www.delphimaster.net/view/15-1213775073/all



Страницы: 1 вся ветка

Текущий архив: 2014.04.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.007 c
3-1297252094
Гость
2011-02-09 14:48
2014.04.27
Подскажите как получить таблицу-матрицу запросом в MSSQL


3-1297148421
Дмитрий С
2011-02-08 10:00
2014.04.27
Волшебство с * и двумя таблицами.


15-1383465477
Интересующися
2013-11-03 11:57
2014.04.27
Ищу компонент (наверно какой-то TPanel)


2-1374145905
dis12345
2013-07-18 15:11
2014.04.27
шрифт одинаковой ширины


4-1268994387
QAZ
2010-03-19 13:26
2014.04.27
Определить вставку извлеч. CD DVD