2012-02-21 10 views
15

Acabo de recibir un montón de código VB6 (!) Heredado y sigo viendo funciones declaradas con un símbolo comercial al final del nombre, por ejemplo, Private Declare Function ShellExecute& . . ..Importancia de un signo de & en el nombre de la función VB6?

No he podido encontrar una respuesta al significado de esto, ni he podido detectar ningún patrón en uso o la firma de las funciones que se han denominado así.

¿Alguien sabe si esos símbolos finales significan algo para el compilador, o al menos si hay alguna convención que me falta? Hasta ahora, lo estoy escribiendo como un programador extraño, pero me gustaría saber con certeza si hay algún significado detrás de eso.

Respuesta

20

Significa que la función devuelve un valor Largo (es decir, entero de 32 bits).

Es equivalente a

Declare Function ShellExecute(...) As Long 

La lista completa de los sufijos es el siguiente:

Integer % 
Long & 
Single ! 
Double # 
Currency @ 
String $ 
12

Como Philip Sheard ha dicho que es un tipo de indentifier Durante mucho. Todavía están presentes en .Net, ver este MSDN link y esto VB6 article

Desde el segundo artículo:

Las reglas para formar un nombre de variable VB válidos son los siguientes:

(1) La el primer carácter debe ser una letra de la A a la Z (se pueden usar mayúsculas o letras minúsculas). Los caracteres sucesivos pueden ser letras, dígitos, o el carácter de subrayado (_) (no se permiten espacios ni otros caracteres ).

(2) El carácter final puede ser un "carácter de declaración de tipo". Sólo algunos de los tipos de variables puede utilizarlos, como se muestra a continuación:

Data Type Type Declaration Character 

String   $ 
Integer  % 
Long   & 
Single   ! 
Double   # 
Currency  @  

El uso de declaración de tipo no se anima personajes de VB; el estilo moderno es usar la cláusula "Como" en una declaración de declaración de datos.

Cuestiones relacionadas