![]() |
Ayuda con visual basic y delphi
Necesito ayudo por favor, tengo acceder a una dll hecha en delphi y todo me va bien, pero creo que los tipo de datos no corresponden, asi que os pongo esta funcion aqui para ver si me podeis decir que tipos de datos de visual basic creeis que seran compatibles con los de la funcion.
procedure get_system_data(com_port,start_data:longint;system_data:PChar; max_data:longint; var rec_data,error_code:longint);stdcall; external 'benzing_com.dll'; Por que yo no tengo ni idea. Muchas gracias |
Una pregunta.
Estás intentando leer relojes de colombófilos? Un Saludo. |
Exacto
Es que mi tio tiene palomas y les he hecho un software por que el que tenian esta en ms-dos.
Podrias ayudarme, albertodelafuente@gmail.com |
La declaración sería algo como:
Código:
Public Declare Sub get_system_data Lib "benzing_com.dll" (ByVal com_port As Long, ByVal start_data As Long, system_data As String) |
Es verdad, tienes razon
Siento haber puesto el email, el problema de que lo ponga es la desesperacion.
Yo he declarado asi la funcion y llega a la funcion y en ese momento me da un error de windows (de los de enviar informe). yo creo que es por lo de las variables, que no use los mismos tipos. |
En la declaración de Federico, ¿no faltan argumentos?
// Saludos |
Si
Pero imagino que sera
Public Declare Sub get_system_data Lib "benzing_com.dll" (ByVal com_port As Long, ByVal start_data As Long, system_data As String,ByVal max_data as Long, rec_data as string,ByVal error_code as long) No federico, ya que var rec_data , var es un string en delphi ¿No?. |
Cita:
Código:
Public Declare Sub get_system_data Lib "benzing_com.dll" (ByVal com_port As Long, ByVal start_data As Long, ByVal system_data As String, ByVal max_data as Long, ByRef rec_data as Long, ByRef error_code as Long) |
Gracias
Gracias por echarme una mano, pero una ultima cosa, por que unas veces Byval y otras ByRef?
Y otra cosa, haber si sabes por que puede ser, que cuando llamo al metodo en visual basic me obliga a poner un =, cuando el metodo no devuelve nada, lo que devuelve lo guarda en los valores que se le pasan |
Cita:
En Delphi, todos los parámetros se pasan por valor a menos que se especifique lo contrario anteponiendo la palabra reservada var. Los ByRef que puso Federico corresponden a los var en la declaración en pascal. Lo que desconozco es si VB tiene algún default al respecto o siempre hay que especificar ByVal y ByRef. // Saludos |
Para más facilidad:
Un Saludo. |
Cita:
Cita:
Saludos! |
La franja horaria es GMT +2. Ahora son las 13:05:36. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi