Conversion de variables de C a Vb

06/10/2004 - 11:28 por flawerin2003 | Informe spam
buenos dias... mi problemas es el siguiente:

me he creado una dll en C, para poder ser utilizada en Visual Basic
el problema es que es la primera que hago, y me compila bien en C, el
problema es cuando en visual declaro las funciones, que me da un error por
que no coinciden los tipos, tengo entendido que existe una conversion como
por ejemplo las int en C se tienen que declarar como "ByVal nombre as
long" en Visual... pero ¿y las estructutas o los char *? me gustaria que
alguien me pudiese decir si existe alguna tabla o ayudadme... muchisimas
gracias!!!

Preguntas similare

Leer las respuestas

#1 Rodrigo Corral [MVP]
06/10/2004 - 12:51 | Informe spam
Los char * con string y las struct son type... si pegas las declaraciones de
las funciones que te dan pegas a lo mejor te podemos ayudar más


Un saludo
Rodrigo Corral González [MVP]

FAQ de microsoft.public.es.vc++
http://rcorral.mvps.org
Respuesta Responder a este mensaje
#2 Jaime Stuardo
14/10/2004 - 04:13 | Informe spam
La mejor ayuda que puedes conseguir es mediante el Api Text Viewer que viene
incluido en las herramientas de Visual Studio.

Por ejemplo las API:

1.--
BOOL SetWindowText(
HWND hWnd, // handle to window or control
LPCTSTR lpString // address of string
);

Se declara en Visual Basic como:
Public Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA"
(ByVal hwnd As Long, ByVal lpString As String) As Long

2.--
BOOL SetSystemTime(
CONST SYSTEMTIME *lpSystemTime // address of system time to set
);

Public Declare Function SetSystemTime Lib "kernel32" Alias "SetSystemTime"
(lpSystemTime As SYSTEMTIME) As Long

Public Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type

3.--
HANDLE FindFirstFile(
LPCTSTR lpFileName, // pointer to name of file to search for
LPWIN32_FIND_DATA lpFindFileData
// pointer to returned information
);

Public Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA"
(ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long

Public Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type

Etc..

Jaime

"aaron" wrote in message
news:
buenos dias... mi problemas es el siguiente:

me he creado una dll en C, para poder ser utilizada en Visual Basic
el problema es que es la primera que hago, y me compila bien en C, el
problema es cuando en visual declaro las funciones, que me da un error por
que no coinciden los tipos, tengo entendido que existe una conversion como
por ejemplo las int en C se tienen que declarar como "ByVal nombre as
long" en Visual... pero ¿y las estructutas o los char *? me gustaria que
alguien me pudiese decir si existe alguna tabla o ayudadme... muchisimas
gracias!!!

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida