Indexed Properties
9/8/2008
Quando você invocar indexados propriedades de qualquer dimensão, você deve transmitir os índices como parâmetros adicionais.
Para definir uma propriedade indexada, local o novo valor no primeiro elemento das rgvargvetor [] e os índices nos elementos subseqüentes.
Para uma propriedade indexada, transmitir get os índices no primeiro n Elementos de rgvarge o número de índices em cArg. IDispatch::Invoke retorna o valor da propriedade no pVarResult.
Automação armazena dados matriz na coluna-principal ordem, qual é a mesma esquema de pedido usada pelo Visual Basic e Fortran, mas diferente da C, C++ e Pascal.
Se você estiver programação em C, C++ ou Pascal, você deve transmitir os índices de ordem inversa.
O seguinte mostra exemplo de código como preencher o DISPPARAMS estrutura em C++.
dispparams.rgvarg[0].vt = VT_I2;
dispparams.rgvarg[0].iVal = 99;
dispparams.rgvarg[1].vt = VT_I2;
dispparams.rgvarg[1].iVal = 2;
dispparams.rgvarg[2].vt = VT_I2;
dispparams.rgvarg[2].iVal = 1;
dispparams.rgdispidNamedArgs = DISPID_PROPERTYPUT;
dispparams.cArgs = 3;
dispparams.cNamedArgs = 1;
O exemplo altera o valor das propriedades [1,2] para 99. O novo valor da propriedade é passado rgvarg[0]. O índice right-Most é passado rgvarg[1] e o próximo índice no rgvarg[2]. O cArgsmembro especifica o número de elementos de rgvarg[] que contêm dados, e cNamedArgs é 1, que indica o novo valor para a propriedade.
Propriedade coleções são uma extensão dessa funcionalidade.