Página 1 de 1

ActiveX en una DLL

Publicado: Mié Nov 12, 2008 7:25 pm
por Xevi
Dado que dispongo de una dll...
¿Como hago para utilizar en Xailer un ActiveX que me han dado en dll???
Lo alojo en la carpeta de mi aplicación???
Lo alojo en la carpeta WindowsSystem32???
Y luego... su utilización... el ejemplo que viene...
Uso de SMSCOM.dll desde un archivo ASP en VBScript
a.. Envío de mensaje
<%@ LANGUAGE=VBScript %>
<%
Set objSendSMS= Server.CreateObject("SMSCOM.SMSSend")
'Defino las propiedades
objSendSMS.setAccount ("micuenta@micuenta.com")
objSendSMS.setPwd ("mipwd")
objSendSMS.setText ("Este es mi texto")
objSendSMS.setTo ("666666666")
objSendSMS.setFrom ("mi remite") ' Parámetro opcional
'Recupero los valores establecidos
Account = objSendSMS.getAccount
Pwd = objSendSMS.getPwd
Texto = objSendSMS.getText
Para = objSendSMS.getTo
Remite = objSendSMS.getFrom
'Envío del mensaje
resultado = objSendSMS.Send
'Resultado de la operación
getResult = objSendSMS.getResult
getDescription = objSendSMS.getDescription
getCredit = objSendSMS.getCredit
Response.write "El resultado es "& resultado & "<br>"
Response.write "getResult es " & getResult & "<br>"
Response.write "getDescription es "& getDescription & "<br>"
Response.write "getCredit es " & getCredit & "<br>"
Set objSendSMS=Nothing
%>
¿cómo sería utilizando Xailer...?
Local oSMS
TRY
oSMS := CreateObject( "SMSCOM.SMSSend.Application" )
CATCH
Alert( "ERROR! SMSCOM.SMSSend not avialable. [" +
Ole2TxtError()+ "]" )
END
oSMS:setAccount( "xevicomas@gmail.com" )
....
CATH Nunca llega... y me lanza error property setaccount
Gracias.
Un Saludo,
Xevi.

ActiveX en una DLL

Publicado: Mié Nov 12, 2008 10:04 pm
por jfgimenez
Xevi,
> Dado que dispongo de una dll...
> ¿Como hago para utilizar en Xailer un ActiveX que me han dado en dll???
> Lo alojo en la carpeta de mi aplicación???
> Lo alojo en la carpeta WindowsSystem32???
Si es un ActiveX, entonces te da igual donde lo instales, pero tienes que
registrarlo con 'regsvr32'.
> ¿cómo sería utilizando Xailer...?
> Local oSMS
>
> TRY
> oSMS := CreateObject( "SMSCOM.SMSSend.Application" )
Según el ejemplo que has puesto antes, el objeto es "SMSCOM.SMSSend", no
"SMSCOM.SMSSend.Application"
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

ActiveX en una DLL

Publicado: Mié Nov 12, 2008 11:26 pm
por Xevi
Jose,
Parece ser que registrando la dll, ya funciona correctamente.
Una duda... si tengo el ActiveX en dll, registrado correctamente...
en Componentes... Importar ActiveX del IDE ¿no debería mostrarme este
ActiveX en la lista para poder agregarlo automáticamente y así mostrarme
todas sus propiedades/eventos???
Gracias.
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:491b44fc$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Xevi,
>
>> Dado que dispongo de una dll...
>> ¿Como hago para utilizar en Xailer un ActiveX que me han dado en dll???
>> Lo alojo en la carpeta de mi aplicación???
>> Lo alojo en la carpeta WindowsSystem32???
>
> Si es un ActiveX, entonces te da igual donde lo instales, pero tienes que
> registrarlo con 'regsvr32'.
>
>
>> ¿cómo sería utilizando Xailer...?
>> Local oSMS
>>
>> TRY
>> oSMS := CreateObject( "SMSCOM.SMSSend.Application" )
>
> Según el ejemplo que has puesto antes, el objeto es "SMSCOM.SMSSend", no
> "SMSCOM.SMSSend.Application"
>
> --
> Un saludo,
>
> José F. Giménez
> http://www.xailer.com
> http://www.xailer.info
>

ActiveX en una DLL

Publicado: Mié Nov 12, 2008 11:40 pm
por Xevi
Jose
Otra cosa...
Para registrar/desregistrar lo hago desde msdos con regsrv32,
ahora bien... ¿hay alguna función nativa en xHarbour/Xailer para tener
incorporado registrar/desregistrar componentes ActiveX en nuestra
aplicación???
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:491b44fc$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Xevi,
>
>> Dado que dispongo de una dll...
>> ¿Como hago para utilizar en Xailer un ActiveX que me han dado en dll???
>> Lo alojo en la carpeta de mi aplicación???
>> Lo alojo en la carpeta WindowsSystem32???
>
> Si es un ActiveX, entonces te da igual donde lo instales, pero tienes que
> registrarlo con 'regsvr32'.
>
>
>> ¿cómo sería utilizando Xailer...?
>> Local oSMS
>>
>> TRY
>> oSMS := CreateObject( "SMSCOM.SMSSend.Application" )
>
> Según el ejemplo que has puesto antes, el objeto es "SMSCOM.SMSSend", no
> "SMSCOM.SMSSend.Application"
>
> --
> Un saludo,
>
> José F. Giménez
> http://www.xailer.com
> http://www.xailer.info
>

ActiveX en una DLL

Publicado: Jue Nov 13, 2008 10:26 am
por jfgimenez
Xevi,
> Una duda... si tengo el ActiveX en dll, registrado correctamente...
> en Componentes... Importar ActiveX del IDE ¿no debería mostrarme este
> ActiveX en la lista para poder agregarlo automáticamente y así mostrarme
> todas sus propiedades/eventos???
No, solamente se muestran los OCX, es decir, los *controles* ActivX, no los
*componentes* ActiveX.
La razón es muy sencilla: los OCX incorporan obligatoriamente una 'typelib',
que es de donde Xailer extrae la información que necesita, pero los
componentes ActiveX (antes llamados "OLE automation servers"), no la traen,
y no hay forma de obtener esa información.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

ActiveX en una DLL

Publicado: Jue Nov 13, 2008 10:43 am
por Xevi
Jose,
Gracias por la aclaración.
Un Saludo,
Xevi.
pdta.: Ya he conseguido enviar SMSs desde Xailer. utilizando este ActiveX.
Gracias.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:[email=491bf2a9@ozsrv2.ozlan.local...]491bf2a9@ozsrv2.ozlan.local...[/email]
> Xevi,
>
>> Una duda... si tengo el ActiveX en dll, registrado correctamente...
>> en Componentes... Importar ActiveX del IDE ¿no debería mostrarme este
>> ActiveX en la lista para poder agregarlo automáticamente y así mostrarme
>> todas sus propiedades/eventos???
>
> No, solamente se muestran los OCX, es decir, los *controles* ActivX, no
> los *componentes* ActiveX.
>
> La razón es muy sencilla: los OCX incorporan obligatoriamente una
> 'typelib', que es de donde Xailer extrae la información que necesita, pero
> los componentes ActiveX (antes llamados "OLE automation servers"), no la
> traen, y no hay forma de obtener esa información.
>
> --
> Un saludo,
>
> José F. Giménez
> http://www.xailer.com
> http://www.xailer.info
>

ActiveX en una DLL

Publicado: Jue Nov 13, 2008 10:44 am
por jfgimenez
Xevi,
> Otra cosa...
> Para registrar/desregistrar lo hago desde msdos con regsrv32,
> ahora bien... ¿hay alguna función nativa en xHarbour/Xailer para tener
> incorporado registrar/desregistrar componentes ActiveX en nuestra
> aplicación???
DllRegisterServer( <fichero_activex> )
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

ActiveX en una DLL

Publicado: Jue Nov 13, 2008 11:46 am
por Xevi
Jose,
en XP Perfecto, pero en VISTA... no funciona.
Y... ¿para desRegistrar???
¿para saber si una dll o ocx está registrada???
Gracias.
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:[email=491bf716@ozsrv2.ozlan.local...]491bf716@ozsrv2.ozlan.local...[/email]
> Xevi,
>
>> Otra cosa...
>> Para registrar/desregistrar lo hago desde msdos con regsrv32,
>> ahora bien... ¿hay alguna función nativa en xHarbour/Xailer para tener
>> incorporado registrar/desregistrar componentes ActiveX en nuestra
>> aplicación???
>
> DllRegisterServer( <fichero_activex> )
>
> --
> Un saludo,
>
> José F. Giménez
> http://www.xailer.com
> http://www.xailer.info
>

ActiveX en una DLL

Publicado: Jue Nov 13, 2008 1:24 pm
por jfgimenez
Xevi,
> en XP Perfecto, pero en VISTA... no funciona.
Vista es muchísimo más escrupuloso que XP en temas de seguridad. Para
registrar un componente hay que hacerlo como administrador, y además, el
programa tiene que correr con privilegios de administrador.
Mi consejo es que utilices algún instalador (p.ej. InnoSetup) y le dejes a
él registrar el componente. Además, así no tienes que preocuparte por
des-registrarlo, ya que él también se encargará de eso.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info