PDA

Ver la Versión Completa : Controlar Modem (RAS)


mauro
30-06-2003, 04:27:56
Hola, que tal?

Estoy empezando en delphi y quisiera
saber como hacer llamadas a unas funciones
en librerias dll's. Tengo hecho un programita
en visual basic que hace uso de las apis ras,
que permiten conectar a internet, desconectar,
ver las conexiones de acceso telefonico a redes,
etc....

Necesito saber como convertir esas funciones a
delphi, xq lo trate de hacer y salio cualquier cosa.
La dll de que hablo es rasapi32.dll. Les paso las
funciones en visual, y me dicen si se puede hacer
algo:

estas son las funciones:

Public Declare Function RasEnumEntries Lib "RasApi32.DLL" _
Alias "RasEnumEntriesA" (ByVal reserved As String, ByVal _
lpszPhonebook As String, lprasentryname As Any, lpcb As Long, _
lpcentries As Long) As Long

Public Declare Function RasDial Lib "RasApi32.DLL" Alias _
"RasDialA" (lpRasDialExtensions As Any, ByVal lpszPhonebook _
As String, lprasdialparams As Any, ByVal dwNotifierType As Long, _
lpvNotifier As Long, lphRasConn As Long) As Long

Public Declare Function RasHangUp Lib "RasApi32.DLL" Alias _
"RasHangUpA" (ByVal hRascon As Long) As Long

Public Declare Function RasEnumConnections Lib "RasApi32.DLL" _
Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As Long, _
lpcConnection As Long) As Long

Public Declare Function RasGetConnectStatus Lib "RasApi32.DLL" Alias "RasGetConnectStatusA" (ByVal hRascon As Long, lpStatus As Any) As Long


acepto otras formas de hacerlo, con algun control,
lo que sea.

muchas gracias

__cadetill
30-06-2003, 10:01:21
A lo mejor podrian servirte los trucos 419, 425 y 513 de Trucomania

mauro
01-07-2003, 04:14:51
Hola, que tal?

Me sirvio bastante lo que me dijiste,
ademas el programa ese tiene un monton
de trucos.

Tengo un problema cuando trato de listar
las conexiones, me salta un error de compilacion
que no se como solucionar:

Error 45: Types of actual and formal parameters
must be identical.

Supongo que se refiere a la definición de las funciones,
ya que hay dos, una con todos los parametros, y
otro que no los tiene.

function RasEnumEntries (
reserved: PChar; {reserved, must be NULL}
lpszPhonebook: PChar ; { pointer to full path and filename of phonebook file}
lprasentryname: PRASENTRYNAME ; {buffer to receive phonebook entries}
var lpcb : DWORD; {size in bytes of buffer}
var lpcEntries : DWORD {number of entries written to buffer}
) : DWORD; stdcall;

function RasEnumEntries; external RAS_DLL name 'RasEnumEntriesA';

Alguien me puede decir como hacer que funcione,
muchas gracias.

Mauro