Мы получили DLL, написанную программистами на C #, скомпилированную для использования в качестве COM-объекта.
Мы консультируемся с этими разработчиками, чтобы получить имена функций и синтаксис, и мы можем использовать его после того, как зарегистрировали его с помощью regasm.
Это нормально, но у нас больше вопросов для ускорения разработки (при изменениях), а некоторые вещи непонятны или не работают.
Мы использовали Delphi 6 professional, а сборка сделана на C # Visual Studio 2008 (как мне кажется).
Давайте посмотрим на них:
1).
Я не могу использовать typelib (TLB) кода C #, потому что я не могу импортировать в Delphi.
Результат был:
"Hiba az OLE beállításjegyzék használata közben."
Translate ~ "Error occured on use OLE typelib/setting lib"
Возможные источники ошибки:
a.) Delphi 6 не может импортировать новые COM-файлы DLL.
b.) Мы должны заставить C # генерировать более старый отформатированный TLB.
Мы попытались сгенерировать TLB с помощью regasm, но мы также получили эту ошибку.
Может, это невозможно, но если случится случай b.), Что нам нужно сказать разработчикам на C # - как скомпилировать DLL-ы?
(DLL-файлы не импортируются Delphi, потому что у них нет секции самостоятельной инициализации).
2).
Интересно:
Все параметры правильно преобразованы в варианты, наоборот, но если метод C # не имеет параметра, я получил ошибку в Delphi стороне ...
Например (псевдо):
proc A():bool;
Вызов A вызывает ошибку на стороне Delphi.
proc A(Dummy: bool):bool;
Вызов A (False) работает нормально.
Я не знаю, почему мы получили это.
Что вы думаете об этом? Это проблема компиляции C #?
Спасибо за вашу помощь:
дд