FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour DLL para monitorar 1 camara IP - AXIS
Posts: 68
Joined: Tue Apr 14, 2009 09:26 PM
DLL para monitorar 1 camara IP - AXIS
Posted: Tue Apr 14, 2009 10:30 PM

estou tentando mostrar no sistema de retaguarda 1 camera de video por IP.
Escolhi o modelo AXIS 206 , por ter 1 activex que trabalha com qualquer camera do fabricante AXIS. . A dll utilizada é a AXISMEDIACONTROL.DLL . Alguem sabe como se declara la DLL en Xharbour ?

link para DLL e Manuais:

http://www.axis.com/techsup/cam_servers/dev/activex.htm

Gracias

William

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: DLL para monitorar 1 camara IP - AXIS
Posted: Wed Apr 15, 2009 12:54 AM
William,

Es un control ActiveX. Tienes que tener AxisMediaControl.dll en donde crees este EXE.

Aqui tienes un primer ejemplo:
Code (fw): Select all Collapse
#include "FiveWin.ch"

function Main()

   local oWnd, oAcx

   RegisterServer( "AxisMediaControl.AxisMediaControl.1" )

   DEFINE WINDOW oWnd
   
   @ 1, 1 ACTIVEX oAcx PROGID "AxisMediaControl.AxisMediaControl.1" OF oWnd SIZE 300, 300
   
   oAcx:SetProp( "ShowToolBar", .T. )
   
   ACTIVATE WINDOW oWnd
   
return nil
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: DLL para monitorar 1 camara IP - AXIS
Posted: Wed Apr 15, 2009 12:56 AM
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 68
Joined: Tue Apr 14, 2009 09:26 PM
Re: DLL para monitorar 1 camara IP - AXIS
Posted: Wed Apr 15, 2009 01:18 AM

Antonio , nunca havia utilizado activex, nao sabia por onde comecar. Com seu exemplo ja me clareia lo pensamento.

Muchas gracias

Saludos

William Adami

Posts: 68
Joined: Tue Apr 14, 2009 09:26 PM
Re: DLL para monitorar 1 camara IP - AXIS
Posted: Wed Apr 15, 2009 02:58 AM

Master Antonio, ao compilar me falta la function hb_registerserver() e no me gera lo .EXE

Se yo registro la DLL com lo comando : REGSVR32 "axismediacontrol.dll" , teve sucesso ao registrar , mas ao entrar en lo sistema me da um GPF e quit lo sistema.

Solamente funciona com a function REGISTERSERVER ?

Saludos

William

Posts: 68
Joined: Tue Apr 14, 2009 09:26 PM
Re: DLL para monitorar 1 camara IP - AXIS
Posted: Wed Apr 15, 2009 06:06 AM

Antonio, utilizei la function registerserver abaixo, mas no funciona. Definitivamente no funciona com Fivewin 9.03 el activex AxisMediaControl, talvez so funciona com la nueva fivewin 9.04

William

** registerserver()

pragma BEGINDUMP

include <hbapi.h>

include <windows.h>

typedef LONG ( * PDLLREGISTERSERVER ) ( void );

HB_FUNC( REGISTERSERVER )
{
HMODULE hDll = LoadLibrary( hb_parc( 1 ) );
LONG lReturn = 0;

if( hDll )
{
FARPROC pRegisterServer = GetProcAddress( hDll, "DllRegisterServer" );

  if( pRegisterServer )
     lReturn = ( ( PDLLREGISTERSERVER ) pRegisterServer )();

  FreeLibrary( hDll );

}

hb_retnl( lReturn );
}

pragma ENDDUMP

nio ,

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: DLL para monitorar 1 camara IP - AXIS
Posted: Wed Apr 15, 2009 08:32 AM

Wiliam,

> talvez so funciona com la nueva fivewin 9.04

Si, puede ser. La Clase TActiveX ha mejorado bastante en FWH 9.04.

No muevas el ratón por encima del control ActiveX.

Que versión de Windows usas ? Nosotros lo hemos probado con Windows 7 y funciona.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 68
Joined: Tue Apr 14, 2009 09:26 PM
Re: DLL para monitorar 1 camara IP - AXIS
Posted: Wed Apr 15, 2009 01:05 PM

Mr. Antonio, yo utilizo Windows XP Professional. Realmente lo error acontece quando se passa el raton sobre lo controle activex, en su exemplo isso tamben ocorre ?

Yo percebo que la DLL foi registrada con exito, mas lo activex non mostra la barra de ferramentas, fica todo en branco. Y quando se passa el raton sobre lo controle activex lo erro faz quitar la aplicacion.

Talvez so funcione mesmo com la nueva FWH904 :(

Saludos

William

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: DLL para monitorar 1 camara IP - AXIS
Posted: Wed Apr 15, 2009 06:51 PM
William,

Realmente lo error acontece quando se passa el raton sobre lo controle activex, en su exemplo isso tamben ocorre ?


Si, aqui ocurre igual. Hay que investigar por que sucede eso. Hemos probado a hacer MouseMove() VIRTUAL pero el error continua igual.

Has conseguido ver la imagen de la camara en el control ?

Talvez so funcione mesmo com la nueva FWH904

Con FWH 9.04 muestra correctamente la barra de herramientas.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 68
Joined: Tue Apr 14, 2009 09:26 PM
Re: DLL para monitorar 1 camara IP - AXIS
Posted: Thu Apr 16, 2009 12:58 AM

Antonio, en los testes aqui no me mostra nada , fica sem image e sem barra de ferramentas. E me da lo error si passo el raton sobre lo objecto activex.

Fiz testes con otros controles como fafi.ocx e funciona bien, solamente lo controle AxisMediaControl no me va bien

saludos

William

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: DLL para monitorar 1 camara IP - AXIS
Posted: Thu Apr 16, 2009 07:54 AM

William,

Estas usando FWH 9.04 ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 68
Joined: Tue Apr 14, 2009 09:26 PM
Re: DLL para monitorar 1 camara IP - AXIS
Posted: Thu Apr 16, 2009 12:00 PM

Antonio, yo no estoy usando la FWH9.04, estoy utilizando la FWH903.
Ja mudei la Tactivex conforme outro post anterior (erro de memory) mas lo erro continua...
No me mostra la barra de ferramientas....

Acredito que yo hay que aguardar la version 9.04 .....

Gracias

William

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: DLL para monitorar 1 camara IP - AXIS
Posted: Thu Apr 16, 2009 01:30 PM

William,

Has probado a agrandar un poco la ventana por si la barra de herramientas esta mas abajo ?

Aqui tienes el PRG, el EXE y la DLL de Axis:

http://www.mediafire.com/?sharekey=d045 ... 0a1ae8665a

El error de mover el raton por encima, de momento sigue.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: DLL para monitorar 1 camara IP - AXIS
Posted: Thu Apr 16, 2009 02:11 PM

Probandolo con Daniel, el ha descubierto que si maximizas la ventana y luego la restauras, el error de mover el raton desaparece.

Tal vez podamos forzar que se maximize y se restaure para quitarle el error al comenzar :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: DLL para monitorar 1 camara IP - AXIS
Posted: Thu Apr 16, 2009 02:15 PM
William prueba con esto...

Code (fw): Select all Collapse
#include "FiveWin.ch"

function Main()

   local oWnd, oAcx

   RegisterServer( "AxisMediaControl.AxisMediaControl.1" )

   DEFINE window oWnd
   
   @ 1, 1 ACTIVEX oAcx PROGID "AxisMediaControl.AxisMediaControl.1" OF oWnd SIZE 300, 300
   
   
   oWnd:oClient := oAcx
   ACTIVATE window oWnd  ON INIT ( updateacx( oAcx, oWnd) )
   
return nil   

Function updateacx( oAcx, oWnd )

   oAcx:SetProp( "ShowToolBar", .T. )
   oAcx:SetProp( "FullScreen", .T. )   
   oAcx:SetProp( "FullScreen", .f. )      
   
return nil