Pregunta: | 57130 - AYUDA CON DECLARACIÓN DE VARIABLES PARA DLL |
Autor: | Jorge Sanchez |
Hola, estoy construyendo una calculadora en visual basic pero mandando a llamar una dll para realizar las acciones como suma resta multiplicación y divición, mi problema esta en que solo puedo correrlo con enteros porque al tratar con decimales no encuentro la variable que acepta el visual basic a la dll. este es mi código de la dll: extern "C" __declspec(dllexport) float suma(float, float); float suma(float x, float y) { return (x + y); } y ahora al llamarlo con el visual basic lo hago asi: Option Explicit Public Declare Function suma Lib "Suma.dll" _ (ByVal x As Double, ByVal y As Double) As Double y mi código en visual basic es este: Private Sub Comadd_Click() f = Str(suma(CDbl(Form1.Text2.Text), CDbl(Form1.Text3.Text))) Text1.Text = f End Sub Yá probé cambiando las variables por long, variant, single, etc. tanto en la dll como en el vb. y pues me sale error ó en el mejor caso suma enteros y si hay decimal lo redondea... que puedo hacer? |