Форум: "Corba";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
ВнизИспользование dll, написанной в VB.NET в Delphi 7. Найти похожие ветки
← →
mik1971 (2005-03-16 11:16) [0]В Vb есть Class Library:
///////////////////////////////////////////////////////////////////////////////////////
Imports System
Imports System.Reflection
<Assembly: AssemblyKeyFile("D:\...\MyKeys.snk")>
<Assembly: AssemblyVersion("1.0.0.0")>
Namespace SimpleLib
Public Interface ISimpleInt
Function Mul(ByVal x As Integer, ByVal y As Integer) As Integer
ReadOnly Property About() As String
End Interface
Public Class SimpleClass Implements ISimpleInt
Public Function Mul(ByVal x As Integer, ByVal y As Integer) As Integer Implements ISimpleInt.Mul
Mul = x * y
End Function
Public ReadOnly Property About() As String Implements ISimpleInt.About
Get
Return "This component is written in Visual Basic.NET"
End Get
End Property
End Class
End Namespace
///////////////////////////////////////////////////////////////////////////////////////
В Delphi7 есть код:
unit Simple;
uses
...
ComObj;
procedure Execute();
var
Res: Integer;
SimpleClass: ISimpleInt;
begin
SimpleClass := CoSimpleClass.Create;
Res := SimpleClass.Mul(3, 3);
end;
end.
///////////////////////////////////////////////////////////////////////////////////////
СООБЩЕНИЕ КОМПИЛЯТОРА
Incompatible types: "_SimpleClass" and "ISimpleInt"
///////////////////////////////////////////////////////////////////////////////////////
Примечание
Type Library я создал в текущей дир. и класс зарегистрировал
>RegAsm.exe Name.dll /tlb
Cмотри статью: http://www.blong.com/Articles/DotNetInteropD8/Interop2/COMNetInterop.htm
← →
Набережных С. © (2005-03-16 12:18) [1]Ну раз пишет, значит incompatible. Вопрос-то в чем? Или требуется, чтобы просто посочувствовали?:)
← →
mik1971 (2005-03-20 13:08) [2]Так от этого интерфейса наследую.
Вопрос в том, что б работало.
← →
Набережных С. © (2005-03-20 13:48) [3]
> mik1971 (20.03.05 13:08) [2]
Могу только повторить: раз пишет, значит incompatible. Не видя кодов объявления интерфейсов большего сказать нельзя.
Разве что настораживает следующее:
SimpleClass: ISimpleInt;
SimpleClass := CoSimpleClass.Create;
Дельфи сама никогда бы не назвала их по-разному. Потому, думаю, это разные интерфейсы, соответственно и incompatible.
Хочется добавить еще несколько слов...очень хочется. Но не буду.
Страницы: 1 вся ветка
Форум: "Corba";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c