PDA

Ver la Versión Completa : Componente activex


levache
28-09-2006, 15:37:16
Hola

Tengo un pequeño problema.
Me han pedido que programe un componenete activex en Delphi, para usarlo como si fuese un applet de java, es decir que lo quieren llamar desde un javascript y se supone que eso se queda instalado en la maquina del cliente.
En principio yo solo me ocuparia de la parte de delphi, es decir, solo del componente, ni instalarlo ni bajarlo ni nada solo Delphi.
Estoy mirando un poco aqui y alla y deduzco de he de crear un componente COM Object, pero estoy haciendo pruebas veo que no puedo llamar a ninguna libreria estandar.
¿Tendria alguien algun ejemplito o tutorial de este tema?
Es delphi 6, para un componente no visual.

manuweb
07-12-2006, 00:18:00
Estoy igual que tu.

¿Alguna ayuda?

Gracias . . .

dec
07-12-2006, 01:40:18
Hola,

Pues no sé qué tan actualizado estará, pero, buscando en Google (http://www.google.es/search?hl=es&q=developed+activex+with+delphi&btnG=B%C3%BAsqueda+en+Google&meta=), la segunda o tercera URL ofrece este documento:

How to develop ActiveX invisible component library in Delphi (http://64.233.183.104/search?q=cache:Uosuy-yu6ykJ:www.2p.cz/files/2p.cz/downloads/howto/activex_delphi_invisible_component_library.pdf+developed+activex+with+delphi&hl=es&gl=es&ct=clnk&cd=3).

Está en formato HTML (http://64.233.183.104/search?q=cache:Uosuy-yu6ykJ:www.2p.cz/files/2p.cz/downloads/howto/activex_delphi_invisible_component_library.pdf+developed+activex+with+delphi&hl=es&gl=es&ct=clnk&cd=3) y en formato PDF (http://www.2p.cz/files/2p.cz/downloads/howto/activex_delphi_invisible_component_library.pdf)... no sé si servirá para empezar, al menos. ;)

manuweb
20-12-2006, 11:41:30
Bueno, lo he solucionado.

En el cliente hay una aplicación que se encarga de abrir un cajón portamonedas (va en el COM1).

Hay una aplicación Delphi muy sencilla a la que he llamado abrecaja.exe y está en c:\ (del cliente) (Programa normal, no activeX, aunque me he quedado con la desilusión de poder hacerlo de esa forma)

Esta es la aplicación (http://www.clubdelphi.com/foros/showthread.php?t=22291)

Desde HTML he utilizado:


<script language="javascript">
<!--
function abre()
{
RegWsh = new ActiveXObject("WScript.Shell");
RegWsh.Run("c:\abrecaja.exe");
}
//-->
</script>


También he tenido que poner http://localhost/ como sitio de confianza en el Internet Explorer del cliente y personalizar con todos los permisos.

La intranet está montada con Win Xp SP2, Apache, PHP y MySql.

Gracias a todos por vuestra ayuda.

:) :)

newdelphi7
29-12-2006, 06:34:03
Hola muy interesante, aunque desde php tambien es posible ejecutar el *.exe o desde el mismo javascript como lo tienes, PEROOO mira mi caso ademas de ejecutar el *.exe necesito sobreescribir un *.txt alojado en c:\\imprimir.txt
en la pc cliente.....

Es decir mi aplicacion en PHP sobreescribira el c>imprimir.txt y luego llamara al ejecutable c>imprimir.exe que esta en la pc cliente y este imprimir.exe trabaja bien y imprime con los codigos de ESC de las mini-impresoras o las impresoras de punto de evntas..

El problema esta en que nunca se sobreescribe el archivo imprimir.txt como lo haria con un activex en delphi, utilizo php y wamp.. thanks

manuweb
29-12-2006, 10:50:14
Hola muy interesante, aunque desde php tambien es posible ejecutar el *.exe o desde el mismo javascript como lo tienes, PEROOO mira mi caso ademas de ejecutar el *.exe necesito sobreescribir un *.txt alojado en c:\\imprimir.txt
en la pc cliente.....

Es decir mi aplicacion en PHP sobreescribira el c>imprimir.txt y luego llamara al ejecutable c>imprimir.exe que esta en la pc cliente y este imprimir.exe trabaja bien y imprime con los codigos de ESC de las mini-impresoras o las impresoras de punto de evntas..

El problema esta en que nunca se sobreescribe el archivo imprimir.txt como lo haria con un activex en delphi, utilizo php y wamp.. thanks

Si ejecuta bien el ejecutable . . ¿por que no haces que ese ejecutable escriba el fichero imprimir.txt?

Saludos.

newdelphi7
30-12-2006, 05:01:11
Tienes razon peor nunca habia trabajado con mysql en delphi, pero al parecer tendre que hacer toda mi aplicacion ya hecha en php en delphi nuevamente porque no se puede siobreescribir un fichero en la pc cliente desde php....

BUeno ya me he descargado los componentes ZEOS tratare de instalarlo a ver como hago la coneccion, alguien tiene un manual sencillo de ejemplos de delphi y ,ysql utilizando Zeos.....?

aunque en realidad para concluir si pudiera aunuqe sea pasarle desde php 5 variables a delphi tendria el sistema hecho, pero vere que hago...

AAAAAH no se puede imprimir directamente desde php porque es una mini-impresora star sp-200 y la mando a imprimir desde delphi leyendo el txt de la siguiente manera:


Var
iImpresora: TextFile;
Fichero: TextFile;
Linea: String;
begin
AssignFile(Fichero,'c:\ticket.txt');
Assignfile(iImpresora,'Lpt1');
Reset(Fichero);
While Eof(Fichero)=False Do
Begin
Readln(Fichero,Linea);
Rewrite(iImpresora);
Writeln(iImpresora, Linea);
end;
Closefile(Fichero);
end;

Puedo hacer eso mismo desde php es decir no leer el fichero sino mandarle a imprimir directamente por el puerto paralelo......