Select the product you need help with
Cómo obtener la dirección de las variables en Visual BasicId. de artículo: 199824 - Ver los productos a los que se aplica este artículo En esta páginaResumenEs raro que un programador de Visual Basic es necesario obtener información de nivel bajo en una variable, como su dirección de memoria. Sin embargo, hay algunas funciones de API que requieren dicha información. En este artículo se describe las siguientes funciones de Visual Basic que pueden ayudar a un programador de Visual Basic obtener esta información: VarPtr - devuelve la dirección de una variable. VarPtrArray - devuelve la dirección de la matriz. StrPtr - devuelve la dirección del búfer de cadena UNICODE. VarPtrStringArray - devuelve la dirección de una matriz de cadenas. ObjPtr - devuelve el puntero a la interfaz que hace referencia una variable de objeto. Más información Advertencia : una o más de las siguientes funciones se describen en este artículo; VarPtr, VarPtrArray, VarPtrStringArray, StrPtr, ObjPtr. Estas funciones no son compatibles con soporte técnico de Microsoft. No aparecen en la documentación de Visual Basic y se proporcionan en este artículo de Knowledge Base "tal"cual. Microsoft no garantiza que estarán disponibles en versiones futuras de Visual Basic. VarPtrEsta función puede utilizarse para obtener la dirección de una variable o un elemento de matriz. Toma el nombre de variable o el elemento de matriz como parámetro y devuelve la dirección. Sin embargo, debe saber que reasignen matrices dinámicas desbloqueada por Visual Basic, por lo que debe ser mucho cuidado cuando utilice VarPtr para obtener la dirección de un elemento de matriz.En el ejemplo siguiente se obtiene la dirección de una variable: En este ejemplo obtiene la dirección del cuarto elemento de matriz: Limitaciones: La función VarPtr no puede utilizarse para obtener la dirección de la matriz. Para obtener más información, vea la función VarPtrArray. VarPtrArrayMatrices en Visual Basic se almacenan como SafeArray. Para obtener la dirección de la estructura SAFEARRAY, deberá utilizar la función VarPtrArray. Los siguientes son las declaraciones de Visual Basic 5.0 y Visual Basic 6.0 respectivamente:Para obtener la dirección de un SAFEARRAY, pasar el nombre SAFEARRAY (incluido el paréntesis) a la función VarPtrArray: Limitaciones: La función VarPtrArray no puede utilizarse para obtener la dirección de una matriz de cadenas, ya que Visual Basic realiza la conversión UNICODE/ANSI para cadenas. Si utiliza VarPtrArray en una matriz de cadenas, obtendrá la dirección de una copia temporal de ANSI de la matriz. Para obtener más información, vea la función VarPtrStringArray. StrPtrLas cadenas en Visual Basic se almacenan como del tipo BSTR. Si utiliza el VarPtr en una variable de tipo String, obtendrá la dirección del BSTR, que es un puntero a un puntero de la cadena. Para obtener la dirección del búfer de cadena propio, deberá utilizar la función StrPtr. Esta función devuelve la dirección del primer carácter de la cadena. Tenga en cuenta que las cadenas se almacenan como UNICODE en Visual Basic.Para obtener la dirección del primer carácter de una cadena, pase la variable de cadena a la función de StrPtr. Ejemplo: Puede utilizar esta función cuando se necesita pasar un puntero a una cadena UNIOCODE en una llamada a la API. VarPtrStringArrayVarPtrStringArray Obtiene la dirección de una matriz de cadenas. Para evitar la conversión UNICODE/ANSI intrínseca realizada por Visual Basic, la declaración tiene que definirse en una biblioteca de tipo.Como alternativa, puede utilizar el compilador MIDL para compilar su propia biblioteca de tipo de los siguientes archivos .odl. Para Visual Basic 6.0, cree un archivo de texto denominado VB6ptrlib.odl con el contenido siguiente: En Visual Basic 5.0, cree un archivo de texto denominado VB5ptrlib.odl con el contenido siguiente: Utilice las siguientes líneas de comandos para compilar los archivos .odl anterior con el compilador MIDL para crear un archivo de biblioteca (.tlb) de tipo Visual Basic 6.0 o Visual Basic 5.0 respectivamente: /T MIDL VB6ptrlib.odl MIDL /t VB5ptrlib.odl Para utilizar la función VarPtrStringArray en su proyecto, deberá crear una referencia a la biblioteca de tipo que acaba de crear. Ejemplo: ObjPtrObjPtr toma un nombre de variable de objeto como un parámetro y obtiene la dirección de la interfaz al que hace referencia esta variable de objeto.Un escenario de utilizar esta función es cuando tiene que hacer una colección de objetos. Por el objeto mediante su dirección como la clave de indización, puede obtener acceso más rápido al objeto que recorrer la colección y utilizar el operador IS. En muchos casos, la dirección de un objeto es confiable sólo lo utiliza como clave. Ejemplo: PropiedadesId. de artículo: 199824 - Última revisión: jueves, 01 de julio de 2004 - Versión: 2.1 La información de este artículo se refiere a:
Traducción automática IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente. Haga clic aquí para ver el artículo original (en inglés): 199824
(http://support.microsoft.com/kb/199824/en-us/
)
| Seleccione idioma
|




Volver al principio








