PDA

Ver la Versión Completa : Bibliotecas de Tipos.


jplj
05-10-2004, 12:17:07
Estoy trabajando con unos componentes ActiveX.

En la documentación sobre una de las interfaces que implementa puedo leer los siguiente:

Método IProp::SetObjects
Establece un vector de objetos cuyas páginas de propiedades se incluirán en el control.
HRESULT SetObjects( int numObj, IUnknown** ppObj );
Argumentos
numObj [in] Número de objetos que se le pasan en el vector.
ppObj [in] Vector de objetos cuyas páginas de propiedades se incluirán en el control


La definición de dicha interfaz es:


// *********************************************************************//
// Interface: IProp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {06BA9E01-F3FB-11D2-AF9E-00105AB2E59A}
// *********************************************************************//
IProp = interface(IDispatch)
['{06BA9E01-F3FB-11D2-AF9E-00105AB2E59A}']

...
procedure SetObjects(num: SYSINT; var ppUnk: IUnknown); safecall;
...



Al abrir la biblioteca de tipos con delphi 7 (view / Type Library ), al ver los parámetros que recibe el método en cuestión veo:


Name Type Modifier
num int [in]
ppUnk IUnknown** [in]


El problema me surge al intentar pasar al método el vector de objetos (ppObj - ppUnk).
No sé cómo hacerlo.
¿Qué significa los dos astericos que aparencen junto a IUnknown cuando se define el tipo de ppUnk?
A la hora de pasar un solo elemento no tengo problemas, basta con moldear el objeto que deseo pasar a la interfaz IUnknown y pasar como numObj el valor 1, y funciona correctamente.

Saludos
Juan P.