Directiva #import sin path absoluto para msado15.dll

03/11/2003 - 15:05 por Jordi Terés | Informe spam
Hola,

Estoy empezando con el tema de ADO y en los ejemplos en que me baso siempre
hacen una importación del tipo:

#import "C:\Archivos de programa\Archivos comunes\SYSTEM\ADO\msado15.dll"
rename("EOF", "EndOfFile")

En el caso de que se instale el programa en un ordenador cuyo sistema
operativo sea de otro idioma, y por tanto msado15.dll ya no se encuentre en
ese path descrito en la importación, el programa ya no funcionaria.

Hay alguna manera de independizar esa importación para que funcione en
cualquier ordenador?

Gracias de antemano por vuestra atención.
Saludos,
Jordi Terés.

Preguntas similare

Leer las respuestas

#1 Rodrigo Corral González
04/11/2003 - 09:31 | Informe spam
Puedes usar la fomra de #impor que utiliza el libid de la libreria del
siguiente modo:

#import "libid:12341234-1234-1234-1234-123412341234"

Otra opción es añadir en los settings de Visual C++ el directorio donde se
encuentra la dll y usar la forma #import <dll.dll>

Un saludo
Rodrigo Corral González
Respuesta Responder a este mensaje
#2 KAKATUO
04/11/2003 - 22:38 | Informe spam
Mirate la documentación de:

WINSHELLAPI HRESULT WINAPI SHGetSpecialFolderPath(
HWND hwndOwner,
LPTSTR lpszPath,
int nFolder,
BOOL fCreate
);

Saludos



"Jordi Terés" escribió en el mensaje
news:
Hola,

Estoy empezando con el tema de ADO y en los ejemplos en que me baso


siempre
hacen una importación del tipo:

#import "C:\Archivos de programa\Archivos comunes\SYSTEM\ADO\msado15.dll"
rename("EOF", "EndOfFile")

En el caso de que se instale el programa en un ordenador cuyo sistema
operativo sea de otro idioma, y por tanto msado15.dll ya no se encuentre


en
ese path descrito en la importación, el programa ya no funcionaria.

Hay alguna manera de independizar esa importación para que funcione en
cualquier ordenador?

Gracias de antemano por vuestra atención.
Saludos,
Jordi Terés.



Respuesta Responder a este mensaje
#3 Luis Gómez Sánchez [MS]
05/11/2003 - 01:28 | Informe spam
Buenas,

La claúsula #import sólo tiene efecto en tiempo de compilación y sirve para
encontrar la librería de tipos del objeto especificado, de forma que puedan
utilizarse smart pointers. Una vez compilada la aplicación, el único
requerimiento es que, en la máquina donde se ejecute, exista un componente
COM registrado con el CLSID del de la máquina donde se compiló (en vuestro
caso msado15.dll).

Evidentemente, si el problema se da en diseño, debes especificar el path al
componente esn esa máquina.

Un saludo.

Luis Gómez
Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no
otorga ningún derecho.




"Jordi Terés" wrote in message
news:
Hola,

Estoy empezando con el tema de ADO y en los ejemplos en que me baso


siempre
hacen una importación del tipo:

#import "C:\Archivos de programa\Archivos comunes\SYSTEM\ADO\msado15.dll"
rename("EOF", "EndOfFile")

En el caso de que se instale el programa en un ordenador cuyo sistema
operativo sea de otro idioma, y por tanto msado15.dll ya no se encuentre


en
ese path descrito en la importación, el programa ya no funcionaria.

Hay alguna manera de independizar esa importación para que funcione en
cualquier ordenador?

Gracias de antemano por vuestra atención.
Saludos,
Jordi Terés.



Respuesta Responder a este mensaje
#4 Jordi Terés
05/11/2003 - 13:36 | Informe spam
Muchas gracias a todos por vuestras sugerencias y explicaciones, intentaré
ponerlas en práctica para resolver el tema.

Saludos,
Jordi Terés.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida