Ver Mensaje Individual
  #1  
Antiguo 13-11-2015
Avatar de ppb
[ppb] ppb is offline
Miembro Premium
 
Registrado: jun 2005
Ubicación: España
Posts: 109
Reputación: 19
ppb Va por buen camino
dll delphi consumida desde Visua lBasic

Hola a todos ,

he desarrollado un dll en XE7 que tiene que ser consumida desde Visual Basic , estoy haciendo un prog. de test

y tengo este error desde VB "Información adicional: Intento de leer o escribir en la memoria protegida. A menudo, esto indica que hay otra memoria dañada."
Cuando en las funciones los param. de pasan por valor no hay problema, pero si son punteros salta la excepción.

Código Delphi [-]
  function IS_CardInReader( HayCard : PSmallInt;
                                       PressICContact : PSmallInt;
                                       ICCActivation   : PSmallInt  )WORD; stdcall;
  var
    rWORD;
  begin
    r:=OK_ACCION;
    HayCard^        :=1;
    PressICContact^ :=1;
    ICCActivation^  :=1;
    result:=r;
  end;
También he probado :
Código Delphi [-]
  function IS_CardInReader( Var HayCard          : SmallInt;
                                       Var PressICContact : SmallInt;
                                       Var ICCActivation   : SmallInt  )WORD; stdcall;
  var
    rWORD;
  begin
    r:=OK_ACCION;
    HayCard          :=1;
    PressICContact :=1;
    ICCActivation   :=1;
    result:=r;
  end;
Desde VB
Código:
    Declare Function IS_CardInReader Lib "omrv2sb.dll" (ByVal HayCardP As UInt16,
                                                        ByVal PressICContactP As UInt16,
                                                        ByVal ICCActivationP As UInt16) As UInt32

entorno :
Windows 7 (64)
Microsoft Visual Studio Community 2015 / Microsoft Visual Basic 2015
Delphi XE7

Gracias por vuestra ayuda.
__________________
Because , I have a power.
Responder Con Cita