Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Вызов фунции в VB из DLL(c++) Добавлено: 30.03.11 11:34  

Автор вопроса:  Greis
Добрый день!)
Помогите пожалуйста, не могу понять почему не работает... делаю тестовый пример.
DLL.h

#include <iostream.h>
#include <stdio.h>
#include <windows.h>

extern "C" __declspec(dllexport) int Return4() ;
extern "C" __declspec(dllexport) int Return5(int x);

DLL.cpp
#include "DLL.h"

extern "C" __declspec(dllexport) int Return4()

{
int i;
i=3;
return i;
}

extern "C" __declspec(dllexport) int Return5(int x)
{
return x+1;
}

Вызов из VB.

Private Declare Function Return5 Lib "H:\DLL\Debug\DLL.dll" (ByVal x As Integer) As Integer
Private Declare Function Return4 Lib "H:\DLL\Debug\DLL.dll" () As Integer
Private Sub CommandButton1_Click()
TextBox1 = Return5(1)
End Sub

Private Sub CommandButton2_Click()
TextBox1 = Return4()
End Sub


функция Return4 вызывается без проблем(которая без параметров), а вот, когда вызываешь Return5(с параметром) выдает ошибку((
Run-time eror '49'
Bad DLL calling convention

Пожалуйста подскажите, где ошибка...?

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #1 Добавлено: 30.03.11 16:31
возможно, C++/int и VB/Integer это разные числовые типы

Ответить

Номер ответа: 2
Автор ответа:
 СанСаныч



Вопросов: 3
Ответов: 118
 Профиль | | #2 Добавлено: 31.03.11 00:37
AgentFire
+1. Воистину так!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам