FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
como "actualizar" una unidad de red
Hola a Todos:
tengo una aplicación en red con la base de datos en el servidor y con unidades de red en los clientes para una conexion odbc, hasta ahi no hay problema pero a veces el servidor no se "enciende" primero que los clientes y cuando los clientes (que tienen Win98) buscan la unidad de red al iniciarse obviamente les manda un error al conectar la unidad de red, yo tengo en la aplicación que cuando se inicie, antes de conectar a la base de datos busque el archivo de base de datos en la unidad de red y si no lo encuentra quiere decir que no esta "activo" el servidor, pero cuando se enciende el servidor no se actualiza el estado de la unidad de red a menos que entres al explorador y des 2click a la unidad para activarla, no puedo hacer lo mismo yo desde mi aplicación? o sea que si la opcion de mi aplicacion no encuentra el archivo "K:\base.mdb" trate de "refrescar" el estado de la unidad para ver si ya esta activa e iniciar la aplicación y si no pues en definitiva enviar un "El servidor o la unidad no estan conectados". Como siempre y por siempre de antemano Gracias.
__________________
Saludos Alonso |
#2
|
||||
|
||||
Prueba con esta función del API.
The WNetAddConnection2 function makes a connection to a network resource. The function can redirect a local device to the network resource. The WNetAddConnection2 function supersedes the WNetAddConnection function. If you pass a handle to a window that the provider of network resources can use as an owner window for dialog boxes, use the WNetAddConnection3 function. DWORD WNetAddConnection2( LPNETRESOURCE lpNetResource, // points to structure that specifies connection details LPCTSTR lpPassword, // points to password string LPCTSTR lpUsername, // points to user name string DWORD dwFlags // set of bit flags that specify connection options ); Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
|||
|
|||
Ante todo gracias por haber respondido a mi pregunta pero la verdad no entendi como ingresar esa funcion a mi aplicacion, es una funcion? una variable? por lo que vi tengo que definir las demas funciones no (WNetAddConnection, WNetAddConnection3)? o llamarlas de alguna libreria? como lo pondrias en un ejemplo simple? si la unidad fuera "K:\" y no hay password ni username? y la maquina fuera \\servidor\basededatos\ = "K:\"
de todas formas muchas gracias.
__________________
Saludos Alonso |
#4
|
||||
|
||||
Cita:
La función se encuentra definida en la unidad Windows, que normalmente se incluye por defecto en cualquier formulario. Aquí te va un ejemplo específico para lo que buscas: Código:
var NetResource: TNetResource; NetResult: Cardinal; begin NetResource.dwType := RESOURCETYPE_ANY; NetResource.lpLocalName := 'K:'; NetResource.lpRemoteName := '\\servidor\basededatos'; NetResource.lpProvider := nil; NetResult := WNetAddConnection2(NetResource, nil, nil, 0); end;
Puedes encontrar más infromación en MSDN // Saludos |
|
|
|