Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2014.04.27;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.002 c
2-1374245465
loser
2013-07-19 18:51
2014.04.27
Вызов функции из DLL в методе объекта


15-1383227337
брат Птибурдукова
2013-10-31 17:48
2014.04.27
"Сейчас позднее, чем ты думаешь"


1-1323780356
wp2
2011-12-13 16:45
2014.04.27
странности FindFirst


15-1383681339
indeets
2013-11-05 23:55
2014.04.27
apache + php as module


15-1383645741
Sign
2013-11-05 14:02
2014.04.27
COM объект на .NET вызов из Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский