Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Visual Basic clásico (http://www.forosdelweb.com/f69/)
-   -   CREAR EL oBJETO DE quartz.dll (http://www.forosdelweb.com/f69/crear-objeto-quartz-dll-391106/)

VisualGuallabo 05/05/2006 10:27

CREAR EL oBJETO DE quartz.dll
 
quartz.dll(ActiveMovie Control Type Library)
cOMO PUEDO CREAR EL objeto de esta dll desde codigo sin crear la referencia.

con el Microsof Agent lo hago de esta forma.

Dim AgentControl as Object
Set AgentControl = CreateObject( "Agent.Control.2")

y funciona
pero con este otro no.
asi es como lo tengo
Dim Player as Object
Set Player = CreateObject("QuartzTypeLib.IMediaControl")

la ventaja de crear el objeto y no ponerlo en la referencia es que el programa se adacta a la versión registrada.
y con la referencia si la creaste a una version el programa te dara error si donde corra el programa hay una version diferente.

[EX3] 05/05/2006 22:40

Esta DLL, que forma parte del API DirectShow de DirectX8 en adelante, se referencia de otra forma, al menos que yo sepa por que tampoco he profundizado mucho en su uso y posiblemente si pueda ser referenciada con CreateObject().

No te preocupes por cambios de version en esta libreria, la version que se incluye con las distribuciones de DirectX9 sigue siendo compatible con la version de DirectX8 y ten en cuenta que si sufriese algun cambio que la hiciese incompatible con versiones anteriores (por ejemplo un cambio en la interfaz que elimine algun objeto por ejemplo) ni CreateObject() te salvaria del error, si un objeto no existe el programa al tratar de declarar dicho objeto fallara igual. Si a lo que te refieres es a que es mas facil localizar errores con CreateObject() que con la instruccion Set no veo diferencia alguna, On Error responde igual a los dos metodos con un bonito error 429.

Salu2...

VisualGuallabo 06/05/2006 09:32

El problema al que me refiero es que si creas una referencia a una dll no importa que tenga los mismos objetos si no es la misma version te dara error.

Mira has esta prueba y veras a que me refiero. crea una dll Activex y agrégala a la referencia de un proyecto crea el ejecutable del proyecto ya ese ejecutable solo funcionara con esa dllActivex incluso puedes compilar de nuevo la dllActivex sin modificarle nada y veras que ya el programa no es compatible con la nueva dllActive X


La zona horaria es GMT -6. Ahora son las 22:26.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.