Share via


Objeto App para usuarios de Visual Basic 6.0

Actualización: noviembre 2007

En este tema se compara el objeto App de Visual Basic 6.0 con su equivalente en Visual Basic 2008.

En Visual Basic 6.0 el objeto App es un objeto global que se utiliza para establecer o recuperar información sobre la aplicación. No existe ningún equivalente directo del objeto App en Visual Basic 2008. Sin embargo, la mayor parte de las propiedades, métodos y eventos se pueden asignar a miembros equivalentes en .NET Framework.

Diferencias conceptuales

Version Information (Propiedades)

Las propiedades Version Information del objeto App se reemplazan por atributos Assembly en Visual Basic 2008. Las propiedades Version Information se definen en el cuadro de diálogo Propiedades del proyecto. Los atributos Assembly se definen en el cuadro de diálogo Información de ensamblado, al que se puede obtener acceso haciendo clic en el botón Información de la aplicación situado en la ficha Aplicación del Diseñador de proyectos.

Nota:

Las propiedades Version Information se almacenan en el archivo Project (.vbp), que se puede editar mediante un editor de texto, como el Bloc de notas. Los atributos Assembly se almacenan en el archivo AssemblyInfo.vb, que se puede editar en el Editor de código.

File Description (Propiedad)

El objeto App de Visual Basic 6.0 tiene las propiedades FileDescription y Title; FileDescription determina el texto de la descripción que aparece en el Explorador de Windows.

En Visual Basic 2008, no hay ningún atributo FileDescription. En su lugar, el atributo Title determina el texto descriptivo que aparece en el Explorador de Windows.

HelpFile (Propiedad)

La propiedad HelpFile en Visual Basic 6.0 especifica un archivo de Ayuda en el nivel de la aplicación.

En Visual Basic 2008, los archivos de Ayuda se especifican en cada formulario mediante un componente HelpProvider. Para obtener más información, vea Compatibilidad con la Ayuda para usuarios de Visual Basic 6.0.

Version (Propiedades)

Las propiedades Major, Minor y Revision en Visual Basic 6.0 se utilizan para devolver el número de versión, formado por tres partes, de una aplicación.

En Visual Basic 2008, la información de versión incluye también una propiedad Build, y el número de versión, que se compone de cuatro partes, puede recuperarse mediante una única propiedad Version. Para obtener más información, vea Números de versión para usuarios de Visual Basic 6.0.

Title (Propiedad)

En Visual Basic 6.0, la propiedad Title del objeto App puede modificarse mediante programación; de este modo, se determina el nombre que aparece en el Administrador de tareas de Windows.

En Visual Basic 2008, el atributo Title es de sólo lectura. La propiedad Text del formulario principal de la aplicación determina el nombre que aparece en el Administrador de tareas. La propiedad Text puede definirse mediante programación, pero también cambiará el texto de la barra de título del formulario.

TaskVisible (Propiedad)

En Visual Basic 6.0, la propiedad TaskVisible del objeto App determina si una aplicación aparece en la Lista de tareas de Windows (Windows 9x) o en la ficha Aplicaciones del Administrador de tareas (Windows 2000 o posterior). La propiedad se utiliza normalmente para evitar que una aplicación se cierre y se ha diseñado para que se ejecute como una tarea en segundo plano. En la mayoría de los casos, la propiedad TaskVisible se utiliza con aplicaciones que no muestran las interfaces de usuario.

En Visual Basic 2008, no existe un equivalente de la propiedad TaskVisible; sin embargo, se puede crear un servicio de Windows o una aplicación de consola que no aparezca en la lista de tareas.

PrevInstance (Propiedad)

La propiedad PrevInstance en Visual Basic 6.0 determina si una instancia de la aplicación ya se está ejecutando. Normalmente, se llama a PrevInstance cuando se ejecuta la aplicación y se anula la aplicación si devuelve true.

No hay ningún equivalente directo para PrevInstance en Visual Basic 2008. Se puede controlar si se permiten varias instancias de una aplicación mediante la propiedad Multiple Instance incluida en la ficha Aplicación del Diseñador de proyectos. En tiempo de ejecución, se desencadena un evento NextInstanceStarted cuando un usuario intenta iniciar otra instancia de la aplicación. Puede agregar código a este controlador de eventos para activar la primera instancia de la aplicación.

Diferencias adicionales

Existen algunas propiedades del objeto App en Visual Basic 6.0 que involucran a componentes ActiveX, a la automatización OLE y a otras tecnologías que ahora están obsoletas y que no son compatibles con Visual Basic 2008. Éstas se incluyen en la tabla Equivalencias de las propiedades del objeto App que se muestra más adelante en este tema.

Cambios de código para el objeto App

En los ejemplos de código siguientes se ilustran las diferencias que existen entre las técnicas de codificación de Visual Basic 6.0 y de Visual Basic 2008 en algunos usos comunes del objeto App.

El código se modifica para mostrar el número de versión de una aplicación

En el ejemplo siguiente se muestra cómo se recupera el número de versión de una aplicación y se incluye en una etiqueta.

' Visual Basic 6.0
Label1.Caption = "Version: " & App.Major & "." & App.Minor & "." _
& App.Revision
' Visual Basic
Label1.Text = My.Application.Info.Version.ToString()

El código se modifica para determinar la ruta de acceso de una aplicación

En el ejemplo siguiente se muestra cómo se presenta un archivo de imagen que está almacenado en la carpeta de la aplicación recuperando la ruta de acceso para la aplicación en ejecución.

' Visual Basic 6.0
Picture1.Picture = LoadPicture(App.Path & "\Logo.jpg")
' Visual Basic
PictureBox1.Image = System.Drawing.Bitmap.FromFile( _
  My.Application.Info.DirectoryPath & "\Logo.jpg")

El código se modifica para impedir que se ejecute una segunda instancia de una aplicación

En el ejemplo siguiente se muestra cómo se implementa una aplicación de una sola instancia.

' Visual Basic 6.0
Private Sub Form_Load()
    If App.PrevInstance = True Then
        MsgBox("The application is already running!")
    End If
End Sub
' Visual Basic
' Assumes that the Make Single Instance Application checkbox in the 
' Project Designer has been checked.

Private Sub MyApplication_StartupNextInstance(ByVal sender As Object, _
ByVal e As Microsoft.VisualBasic.ApplicationServices. _
StartupNextInstanceEventArgs) Handles Me.StartupNextInstance
    MsgBox("The application is already running!")
End Sub

Equivalencias de las propiedades del objeto App

En la tabla siguiente se muestran todas las propiedades y métodos del objeto App de Visual Basic 6.0 y sus equivalentes en Visual Basic 2008.

Visual Basic 6.0

Visual Basic 2008Equivalente

Comments

My.Application.Info.Description (Propiedad)

CompanyName

My.Application.Info.CompanyName (Propiedad)

EXEName

My.Application.Info.AssemblyName (Propiedad)

FileDescription

My.Application.Info.Title (Propiedad)

HelpFile

Nueva implementación. Utilice un componente HelpProvider. Para obtener más información, vea Compatibilidad con la Ayuda para usuarios de Visual Basic 6.0.

HInstance

GetHINSTANCE

LegalCopyright

My.Application.Info.Copyright (Propiedad)

LegalTrademarks

My.Application.Info.Trademark (Propiedad)

LogEvent method

WriteEntry (Método, My.Application.Log y My.Log)

LogMode

LogPath

Nueva implementación. Para obtener más información, vea Registrar información de la aplicación.

Major

My.Application.Info.Version (Propiedad)

Nota:
El formato de los números de versión es diferente en Visual Basic 2008. Para obtener más información, vea Números de versión para usuarios de Visual Basic 6.0.

Minor

My.Application.Info.Version (Propiedad)

Nota:
El formato de los números de versión es diferente en Visual Basic 2008. Para obtener más información, vea Números de versión para usuarios de Visual Basic 6.0.

NonModalAllowed

Nueva implementación. Esta propiedad es una propiedad de sólo lectura relacionada con archivos .dll de ActiveX. Common Language Runtime supervisa automáticamente este comportamiento.

OleRequestPendingMsgText

OleRequestPendingMsgTitle

OleRequestPendingTimeout

OleServerBusyMsgText

OleServerBusyMsgTitle

OleServerBusyRaiseError

OleServerBusyTimeout

No hay equivalente. Estas propiedades están relacionadas con la automatización OLE, que no es compatible con Visual Basic 2008.

Path

My.Application.Info.DirectoryPath (Propiedad)

PrevInstance

IsSingleInstance

Nota:
La propiedad IsSingleInstance es una propiedad Protected. Sólo se puede establecer en tiempo de diseño en el Diseñador de proyectos al activar o desactivar la casilla Varias instancias.

ProductName

My.Application.Info.ProductName (Propiedad)

RetainedProject

Nueva implementación. Visual Basic 2008 no puede conservar ningún proyecto en memoria.

Revision

My.Application.Info.Version (Propiedad)

Nota:
El formato de los números de versión es diferente en Visual Basic 2008. Para obtener más información, vea Números de versión para usuarios de Visual Basic 6.0.

StartLogging method

Nueva implementación. Para obtener más información, vea Registrar información de la aplicación.

StartMode

No hay equivalente. Esta propiedad implica la creación de componentes de ActiveX, que no son compatibles con Visual Basic 2008.

TaskVisible

Nueva implementación. Para crear una aplicación que no aparezca en el Administrador de tareas, cree un Servicio de Windows o un proyecto Aplicación de consola.

ThreadID

Nueva implementación. Esta propiedad devolvió el identificador del subproceso en ejecución; el modelo de subprocesos es significativamente diferente en Visual Basic 2008.

Title

My.Application.Info.Title (Propiedad)

UnattendedApp

Nueva implementación. Para las aplicaciones desatendidas en Visual Basic 2008, cree un proyecto Aplicación de consola.

Notas de actualización

Cuando una aplicación se actualiza desde Visual Basic 6.0, únicamente se actualizan las propiedades Major y Minor; Visual Basic 2008 asigna nuevos valores a las propiedades Revision y Build.

Vea también

Conceptos

Compatibilidad con la Ayuda para usuarios de Visual Basic 6.0

Números de versión para usuarios de Visual Basic 6.0

Referencia

My.Application (Objeto)