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

Вниз

Использование 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.03 c
2-1135660324
Рубей
2005-12-27 08:12
2006.01.15
Переход по окнам формы


11-1110739823
Владимир Кладов
2005-03-13 21:50
2006.01.15
версия 2.08


6-1128446131
VadimX
2005-10-04 21:15
2006.01.15
Как работать с SOCKS из Indy 9,10?


2-1135251950
Nurbolat
2005-12-22 14:45
2006.01.15
Как в моей программе открыть файл базы данных Access?


14-1135092006
Dimedrol
2005-12-20 18:20
2006.01.15
Супер-глобальная переменная для Apache/PHP