Visual Basic® 2005 Conversion Toolkit Toolkit for Microsoft Dynamics™ SL Release 7.0
3/2007
Copyright Manual copyright © 2007 Microsoft Corporation. All rights reserved. Your right to copy this documentation is limited by copyright law and the terms of the software license agreement. As the software licensee, you may make a reasonable number of copies or printouts for your own use. Making unauthorized copies, adaptations, compilations, or derivative works for commercial distribution is prohibited and constitutes a punishable violation of the law.
Trademarks Microsoft, Microsoft Dynamics, ActiveX, Excel, FRx, FrontPage, MapPoint, Outlook, SharePoint, Visual Basic, Visual Studio, Windows, and Windows Server are either registered trademarks or trademarks of Microsoft Corporation, FRx Software Corporation, or their affiliates in the United States and/or other countries. FRx Software Corporation is a wholly owned subsidiary of Microsoft Corporation. BIO and BIO Vue are trademarks or registered trademarks of NexVue Analytics Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be trademarks or registered marks - in the United States and/or other countries - of their respective owners. The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious. No association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred.
Warranty disclaimer Microsoft Corporation disclaims any warranty regarding the sample code contained in this documentation, including the warranties of merchantability and fitness for a particular purpose.
Limitation of liability The content of this manual is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Microsoft Corporation. Microsoft Corporation assumes no responsibility or liability for any errors or inaccuracies that may appear in this manual. Neither Microsoft Corporation nor anyone else who has been involved in the creation, production or delivery of this documentation shall be liable for any indirect, incidental, special, exemplary or consequential damages, including pero not limited to any loss of anticipated profit or benefits, resulting from the use of this documentation or sample code.
License agreement Use of this product is covered by a license agreement provided with the software product. If you have any questions, please call the Customer Assistance Department at 800-456-0025 (in the United States or Canada) or +1-701-281-6500. Publication Date March 2007
Copyright Manual copyright © 2007 Microsoft Corporation. All rights reserved. Your right to copy this documentation is limited by copyright law and the terms of the software license agreement. As the software licensee, you may make a reasonable number of copies or printouts for your own use. Making unauthorized copies, adaptations, compilations, or derivative works for commercial distribution is prohibited and constitutes a punishable violation of the law.
Trademarks Microsoft, Microsoft Dynamics, ActiveX, Excel, FRx, FrontPage, MapPoint, Outlook, SharePoint, Visual Basic, Visual Studio, Windows, and Windows Server are either registered trademarks or trademarks of Microsoft Corporation, FRx Software Corporation, or their affiliates in the United States and/or other countries. FRx Software Corporation is a wholly owned subsidiary of Microsoft Corporation. BIO and BIO Vue are trademarks or registered trademarks of NexVue Analytics Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be trademarks or registered marks - in the United States and/or other countries - of their respective owners. The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious. No association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred.
Warranty disclaimer Microsoft Corporation disclaims any warranty regarding the sample code contained in this documentation, including the warranties of merchantability and fitness for a particular purpose.
Limitation of liability The content of this manual is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Microsoft Corporation. Microsoft Corporation assumes no responsibility or liability for any errors or inaccuracies that may appear in this manual. Neither Microsoft Corporation nor anyone else who has been involved in the creation, production or delivery of this documentation shall be liable for any indirect, incidental, special, exemplary or consequential damages, including pero not limited to any loss of anticipated profit or benefits, resulting from the use of this documentation or sample code.
License agreement Use of this product is covered by a license agreement provided with the software product. If you have any questions, please call the Customer Assistance Department at 800-456-0025 (in the United States or Canada) or +1-701-281-6500. Publication Date March 2007
Table of Contents
iii
Table of Contents Introducción
1
¿Quién Debería Leer Esto?. Esto?................. .................................. ................................. ............................... .................................. ............................ .......... 1 ¿Qué Contiene Contiene? ? ........ ................. ................... .................... ................... .................. .................. ................... .................... .................. .................. ................... ......... 1 Convenciones de Documentacion .............. ................................. .................................. ............................... ............................... ............... 2
Preparación
3
Acerca de Microsoft Visual Basic 2005 ................. ................................. ............................... ............................... .......................... .......... 3 Entrenamiento.............................. Entrenamiento.............. .................................. ................................. ............................... .................................. ....................... ..... 3 Herramientas de Conversion................ Conversion.................................. .................................. ............................... ................................. .......................... ........ 3 Microsoft Micros oft Dyn Dynamics amics SL 6.5 Code Inspe I nspector ctor ......... ................... .................... ................... .................. ................ ....... 3 Visual Basic Upgrade Tool ......... ................... .................. .................. .................... .................... ................... ................... ................ ...... 3 VBTools Applications Upgrade Utility... Utility................... ............................... ............................... ............................... ............... 3 Microsoft Micros oft Dyn Dynamics amics SL SDK Conver Conversion sion Utility .......... .................... .................... .................. .................. ............ .. 4 Setup .......... .................... .................... .................. .................. ................... ................... .................. .................. .................... ................... .................. ................... ................. ....... 4 Necesidades de Preparación del Ambiente Ambiente de Desarrollo Visual Basic 6.0 4 Instalación de Visual Studio 2005................. 2005................................ ............................... .................................. ....................... ..... 4 Instalación de Microsoft Dynamics SL 7.0 7.0................ ............................... ................................. .......................... ........ 4 Agregar Code Inspector Inspector al Menú de Herramientas de Visual Studio .......... 4
¿Qué Ha Cambiado?
7
El Cambio hacia Managed Code .......... .................... .................. .................. .................... ................... ................... .................. .............. ...... 7 Nuevos Archivos Fuente Requeridos............. Requeridos............................. ............................... ................................. ..................... ... 7 Archivos Fuentes Retirados......... Retirados........................ ................................. .................................. ................................. ....................... ...... 7 Declaraciones Fuente Cambiadas de Ubicación .............. ................................ ............................ .......... 7 Binarios Cambiados de Ubicación......... Ubicación........................ ............................... ................................. ............................ ........... 7 Binarios Obsoletos Obsoletos................ ............................... .................................. .................................. ............................... ............................... ............... 7 Nuevas Carpetas. Carpetas................. ............................... .................................. .................................. ............................... ............................... ............... 8 Nuevos Asse Assemblies mblies .......... .................... ................... .................. .................. ................... .................... .................... .................. ................. ......... 8 Requerimientos de Proyecto.............. Proyecto................................ ................................. ............................... ............................... ............... 9 Nueva Plantilla de Proyecto para Aplicaciones Aplicaciones .............. ................................ ............................... ............. 9 Cambio de Sistema de Help Help.............. ................................ ................................. ............................... ............................. ............. 10 Interfaces de Programación de la Aplicación Aplicación .............. .............................. ................................ ............................. ............. 11 Cambios a APIs en los que se retiró el Parámetro Parámetro Length ......... .................. .................. ......... 11 Cambios en SAF Even Eventt Sign Signature ature ........ ................. ................... .................... ................... ................... .................. ............ .... 13 Cambios de Control.. Control................. ................................. .................................. ............................... ............................... ........................ ........ 13 Dealing con Array Assemblies...................... Assemblies..................................... ............................... .................................. ..................... ... 14 Assembly de Arreglos Arreglos SAF (SAF Array Array Assembly) Assembly) .............. ................................ ............................. ........... 15 Nuevo control de Menú y Barra de Herramientas .......... .................... .................. .................. ............ .. 16 SolomonDataObject Class Class Reemplaza Header Files.... Files....................... ................................ ............. 16 Miembross de Clase Solomon Miembro SolomonDataObje DataObject ct .......... ................... ................... ................... .................. ................ ....... 18
Utilitario de Conversión (Upgrade Utility)
21
Comprensión del Proceso de Conversión....... Conversión......................... .................................. ............................... .......................... ........... 21 Línea de Comandos VBTools Applications Upgrade Utility............................ Utility.......... ............................. ........... 21 Dependencias de Visual Basic Upgrade Tool...................... .................. .......................... ........ 23 Parámetros Paráme tros de Líne Línea a de Coman Comandos dos ......... ................... .................... .................... ................... .................. .............. ..... 23 Información Miscelánea.. Miscelánea.................. .................................. ................................. ............................... ................................ ................ 24 Interfaz de Usuario de VBTools Applications Upgrade Utility.................... ................ .................. 25
Patterns
31
iv
Visual Basic 2005 Conversion Toolkit for Microsoft Dynamics SL Fase de Preparación .............. ................................ ................................. ................................. .................................. .................................. ..................... ... 31 Registrar Versión 6.5 de SWIMAPI.dll......... SWIMAPI.dll........................... .................................. ............................... ..................... ...... 31 Preparar Prepar ar el Direc Directorio torio de Destin Destino o de la Conversión ......... .................. ................... ................... ......... 31 Mover y Renombrar Archivos de Proyecto Visual Basic 6.0................. 6.0. ........................ ........ 31 Leer Propiedades en el Archivo .FRX ............... ................................. .................................. ............................. ............. 31 Quitar Comillas desde Propiedades Tools for Visual Basic .............. ........................... ............. 32 Quitar Controles Custom y Referencias desde Archivos...... Archivos...................... ........................ ........ 32 Establecer Valores Iniciales de Font Font.............. ................................. .................................. ............................... ................ 32 Preparar Tipos Definidos por el Usuario para Conversión.......................... Conversión.......... ................... ... 32 Guardar Inform Información ación de Control ......... ................... .................. .................. ................... ................... .................... ............ .. 32 Renombrar Renom brar sDate y sTime a Integer .......... ................... ................... .................... .................... .................... ............... ..... 32 Quitar la Propiedad Bindings del Control .................. .................................. ............................... ..................... ...... 32 Corregir Correg ir Items Case-s Case-sensiti ensitive ve en Arch Archivo ivo de Proyec Proyecto to .......... .................... .................... ............ .. 32 Fase Update.................. Update........................... ................... .................. .................. .................... .................... .................. .................. ................... ................... .............. .... 34 Registrar Version 7.0 de SWIMAPI.dll......... SWIMAPI.dll........................... .................................. ............................... ..................... ...... 34 Mover Archivos de Proyecto........ Proyecto........................ .................................. ................................. ............................... ................... ... 34 Agregar Agreg ar Area Inclu Include de para Kernel Exports ......... .................. ................... ................... ................... .............. .... 34 Actualizar Referencias SWIMAPI .............. ................................ .................................. ............................... ..................... ...... 35 Actualizar Actua lizar el Nombre de Assem Assembly bly ......... ................... .................... ................... ................... .................... ................. ....... 35 Cambie Referencias SAF en el Archivo de Proyecto Proyecto .............. ............................. ..................... ...... 35 Agregar Propiedad IsInitializing a Formularios ................ ............................... ............................... ................ 35 Modificar el Handler de Evento Form Load en Subformularios ................... 36 Quitar el String SWIMAPI Typelib.............. Typelib................................ ................................. ............................... ........................ ........ 36 Quitar Parámetros de Largo Largo desde las Llamadas API ............... ............................... ................... ... 37 Actualizar Constantes de de Botones de la Barra de Herramientas ................ 37 Manejar Instrucciones SetMousePointer.. SetMousePointer.................... .................................. ............................... ..................... ...... 37 Actualizar Twips a Pixels en APIs................ APIs.................................. .................................. ............................... ..................... ...... 37 Modificar SAF Event Signatures....... Signatures......................... .................................. ............................... ............................... ................ 37 Convertir Buffers Buffers de Datos (.DH File Conversion) Conversion).............. .............................. ............................. ............. 37 Actualizar Direcciones de Parámetros API.......... API........................... ................................ .......................... ........... 38 Agregar Kernel Exports........ Exports........................ .................................. ................................. ............................... ............................. ............. 38 Restore Nombres Nombres de Campo Tools for Visual Visual Basic.................. Basic.. ............................... ..................... ...... 38 Set Control Properties..... Properties.................... ............................... .................................. ................................. .................................. ................... 38 Realinear Propiedad Top para Controles en Tarjetas... Tarjetas................... ................................ ................ 38 Establecer los Pasos 1 y 2 de Application Application Startup............... Startup .............................. .......................... ........... 39 Ubicar Archivos Pre-convertidos.......... Pre-convertidos............................ .................................. ............................... .......................... ........... 39 Ubicar Assemblies Assemblies................ ............................... .................................. .................................. ............................... ............................. ............. 39 Quitar las Advertencias y Notas Notas de Conversión Conversión............... ............................... ............................. ............. 39 Agregar SDKHelpProvider a Formularios.. Formularios.................... .................................. ............................... ..................... ...... 39 Agregar Agreg ar Version de Arch Archivo ivo (Fi (File le Stamp Versi Version) on) .......... ................... ................... .................... ............ .. 39
Issues
41
Tips y Tricks
63
Debugging una Aplic Debugging Aplicación ación .......... ................... ................... .................... .................. .................. .................... ................... .................. .............. ..... 63 Shared Event Signatures Signatures Signatura de Eventos Compartidos ............... ............................... ................... ... 63 Slowdown de Visual Studio IDE ............... .............................. ................................. .................................. .................................. ..................... ... 64 Uso de la Task List de Visual Studio .............. .............................. .................................. ................................. ............................... ................ 64
Recursos
67
Apéndice A: Cambios de Código para Object Model de Solomon
69
Cambiar Código Código para Utilizar Object Model de Solomon ......... ................... ................. ....... 69
Table of Contents
v
Cambiar Código para Clientes de Object Model de Solomon ................. 69
Apéndice B: Ejecutar Aplicaciones conectadas - .NET desde una Network71 Indice
73
Introducción
1
Introducción El objetivo de esta información es proporcionar instrucción y guía para los desarrolladores de aplicaciones que utilizan Microsoft ® Visual Basic® 2005 Conversion Toolkit for Microsoft Dynamics™ SL. El Conversión Toolkit está diseñado para traducir las aplicaciones de Microsoft Dynamics SL 6.5 desarrolladas utilizando Microsoft Visual Basic 6.0 para utilizar en un ambiente Microsoft Visual Basic .NET. Para hacer esta conversión, usted debe dejar atrás el ambiente de desarrollo de Visual Basic 6.0 y cambiarse a Visual Basic 2005. Esta guía le ayudará a llevar sus aplicaciones a través de esta conversión.
¿Quién Debería Leer Esto? Esta información debería ser leída por los desarrolladores de aplicaciones para Microsoft Dynamics SL.
¿Qué Contiene? Los siguientes temas proporcionan información introductoria.
Preparación — Trata aspectos de entrenamiento, configuración y ambiente que se deben considerar antes de efectuar la conversión desde Visual Basic 6.0 a Visual Basic 2005. ¿Qué Ha Cambiado? — Explica las diferencias entre el ambiente desarrollo de Microsoft Solomon Tools for Visual Basic y el ambiente de desarrollo de Microsoft Dynamics SL Software Development Kit (Microsoft SL SDK. Utilitario de Conversión — Proporciona información acerca del trabajo con la interfaz de usuario de Conversion Toolkit y el utilitario de línea de comandos. Patterns — Entrega detalles acerca de los patrones de código utilizados por Conversion Toolkit. Issues — Describe issues de Conversion Toolkit y entrega ayuda para resolverlos. Tips y Tricks — Ofrece asesoría del proceso de upgrade. Recursos — Proporciona recursos que usted puede utilizar para ampliar sus conocimientos en la actualización de aplicaciones desde Visual Basic 6.0 a Visual Basic 2005.
2
Visual Basic 2005 Conversion Toolkit for Microsoft Dynamics SL
Convenciones de Documentacion Se utilizan las siguientes convenciones a través de esta documentación para ayudarle a determinar rápidamente los nombres de pantallas, combinaciones de teclas, procedimientos, selecciones de menú y nombres de botones. •
•
•
Las opciones de menú, tarjetas y botones aparecen en texto Negritas Especiales. Aparece una barra vertical entre opciones individuales donde se indica una serie de selecciones de menú. Aparece un subrayado bajo la letra apropiada de una opción de menú donde existe una alternativa de combinación de teclas para escoger la opción. Por ejemplo:
–
Elija Archivo | Guardar o haga click en Guardar.
–
Seleccione Lotes para aplicar las funciones de navegación a Lotes.
Los nombres de pantallas están escritos en cursivas y están seguidas por el número de pantalla entre paréntesis. Los nombres de campos para ingreso de datos, checkboxes y radio buttons están en negritas. Los nombres de marcos y opciones de campo aparecen como texto normal. Por ejemplo:
–
Elija Guardar para cerrar Time Entry (02.010.00).
–
Elija Utilidad | Password. Se muestra el cuadro de diálogo Cambio de Password .
–
En PR Setup (02.950.00), click en la tarjeta Payroll Information. Se muestra la tarjeta Payroll Information.
–
En el recuadro Consultant, ingrese la información acerca de su consultor certificado Microsoft.
Las combinaciones de teclas se muestran en letra MAYUSCULAS Courier New, separadas por un signo más “+”. Para usar una combinación de teclas, presione y mantenga la primera tecla en la secuencia, luego presiona la segunda tecla. Por ejemplo:
Presione CTRL+C para copiar su selección en el portapapeles. •
Los ejemplos de código aparecen en formato Courier New. Por ejemplo: Public Sub SetAddr(ByVal LevelNbr As Short, ByVal TableNameStr As String, ByRef bTableName As SolomonDataObject, ByRef nTableName As Object)
•
En algunos casos, pueden existir múltiples procedimientos para cada tópico. El comienzo de cada procedimiento es precedido por un párrafo en texto negrita al comienzo de cada instrucción o conjunto de pasos para ayudarle a encontrar rápidamente los procedimientos en cada página. Por ejemplo:
Para configurar una factura recurrente: •
Las notas y ejemplos se identifican con la palabra Nota o Ejemplo para distinguirlas del resto del texto. Por ejemplo: Nota: Las opciones de configuración del módulo Contabilidad se encuentran en Control de Contabilidad (01.950.00).
Ejemplo: Abra DD Setup (02.951.00) en el modulo Payroll.
Preparación
3
Preparación Acerca de Microsoft Visual Basic 2005 A diferencia de Visual Basic 6.0 o Visual Basic 5.0, Visual Basic 2005 no es una actualización incremental. Es un nuevo lenguaje con muchas similaridades sintácticas con el antiguo Visual Basic de 32 bits. Visual Basic 2005 es un poderoso lenguaje al mismo nivel que Visual C++ o Visual C#, Vea el documento Web MSDN, , “Upgrading to Visual Basic 2005”, información acerca de las nuevas características que se encuentran en Visual Basic 2005.
Entrenamiento Para prepararse para la experiencia de conversión, es importante que usted tenga una comprensión total de Visual Basic 2005. Vea “Recursos” por asistencia en esta área.
Herramientas de Conversion Microsoft Dynamics SL 6.5 Code Inspector El Code Inspector de Microsoft Dynamics SL 6.5 fué proporcionado no solamente con la version 6.5, sino que también con versiones anteriores. Puede ayudarle a determinar, antes de la conversión, si es que una aplicación creada en Tools for Visual Basic satisface los estándares de Microsoft Dynamics SL standards. Estos estándares incluyen el uso apropiado de interfaces de programación de aplicaciones (APIs) de modo que esas características de la aplicación funcionen correctamente. Generalmente, los problemas que encuentra el Code Inspector se transforman en posibles problemas para la conversión. Por ejemplo, una aplicación presenta el mensaje de advertencia “Explicit property assignments versus SetProp commands”. Todas las llamadas SetProp deben ser convertidas al nuevo ambiente donde el uso directo está sujeto al proceso de conversión. Todavía pueden existir problemas para las propiedades que no son mapeadas al nuevo ambiente.
Visual Basic Upgrade Tool Esta es la herramienta utilizada por Visual Studio para convertir los programas Visual Basic 6.0 a Visual Basic 2005. Fué desarrollado para Microsoft por ArtinSoft y algunas veces es referido como “ArtinSoft utility.” Se distribuje con Visual Studio 2005 y se encuentra en la carpeta \VB\VBUpgrade bajo la carpeta de instalación de Microsoft Visual Studio. El utilitario se puede ejecutar desde la línea de comandos en el ejecutable VBUpgrade.exe, o utilizando el Visual Studio Upgrade Wizard cuando se abre un archivo de projecto Visual Basic 6.0 con Visual Studio 2005.
VBTools Applications Upgrade Utility El Utilitario de Actualización de VBTools Applications es un suplemento para la Herramienta de Actualización de Visual Basic. Este es un utilitario de línea de comando. Se encuentra bajo la carpeta de instalación de Microsoft Dynamics SL en el directorio \VT\VB 2005 Code Converter en el archivo ejecutable VBToolsAppUpgrade.exe.
4
Visual Basic 2005 Conversion Toolkit for Microsoft Dynamics SL
Microsoft Dynamics SL SDK Conversion Utility El Utilitario de Conversión Microsoft Dynamics SL SDK Conversion Utility es una interfaz gráfica de usuario (GUI) front-end para el Utilitario de Actualización VBTools Applications Upgrade Utility.
Setup Necesidades de Preparación del Ambiente de Desarrollo Visual Basic 6.0 El ambiente de desarrollo de Visual Basic 6.0 debe estar intacto, y todos los componentes deben estar disponibles antes de poder comenzar con el proceso de conversión. Se recomienda que usted tenga instalado el Service Pack 5 de Visual Basics 6.0 o uno superior de modo que pueda ver su aplicación fuente original si es que es necesario durante el proceso de conversión. Esto también le otorgará la capacidad de utilizar el Code Inspector de Microsoft Dynamics SL 6.5.
Instalación de Visual Studio 2005 Antes de utilizar Conversion Toolkit, usted debe instalar Microsoft ® Visual Studio® 2005. Para obtener ayuda con esta tarea, vea el documento Web MSDN “Getting Started with Visual Studio Installer ”.
Instalación de Microsoft Dynamics SL 7.0 Antes de convertir las aplicaciones existentes y desarrollar otras nuevas, usted debe desinstalar Microsoft Dynamics SL desde todos los computadores que participan en el proceso de conversión. Luego usted puede instalar la versión 7.0 con la opción Microsoft Dynamics SL SDK . Para obtener asistencia vea Microsoft Dynamics SL Install Guide Release 7.0.
Nota: Algunos nombres de archivos y carpetas pueden haber cambiado en la versión 7.0. •
•
•
•
La carpeta por omisión del programa es ahora \Program Files\Microsoft Dynamics SL. Se ha agregado una carpeta común de programas a la instalación del cliente. La ubicación de esta carpeta es \Program Files\Common Files\Microsoft Dynamics SL. Se ha agregado un archivo global assemblies cache llamado Solomon.Kernel.dll. Se llama Assemblies a la carpeta de assemblies .NET bajo la carpeta Microsoft Dynamics SL .
Cuando finalice su instalación 7.0, usted estará listo para comenzar a convertir y ejecutar aplicaciones.
Agregar Code Inspector al Menú de Herramientas de Visual Studio Después de instalar Microsoft Dynamics SL 7.0, usted necesitará agregar el Inpector de Código (Code Inspector) al menú de Herramientas en Visual Studio 2005.
Para agregar el Code Inspector al menú de Herramientas de Visual Studio:
Preparación 1. Abra Microsoft Visual Studio 2005. Aparece la Página Start. 2. En el menú Tools, click en Add-in Manager. Aparece la ventana Add-in Manager , mostrando una lista de los add-ins disponibles en Visual Studio, incluyendo Code Inspector. 3. Seleccione las tres boxes en la fila del Código Inspector, y luego haga click en OK. 4. Abra nuevamente el menú Tools, y note que aparece CodeInspector en el menú.
5
6
Visual Basic 2005 Conversion Toolkit for Microsoft Dynamics SL
¿Qué Ha Cambiado?
7
¿Qué Ha Cambiado? El Cambio hacia Managed Code Todos los módulos en Microsoft Dynamics SL son managed code, productos conectados .NET. La estructura de trabajo de aplicaciones que los sustenta (SAF) es una mezcla de código nativo y managed code.
Nuevos Archivos Fuente Requeridos •
•
El archivo managed Solomon.VBTools.vb reemplaza los archivos nativos Swim.bas, Applic.dh, y VBTApp.cls. ApplicationEvents.vb agrega un aplicación handler de eventos startup utilizado por Microsoft SL SDK para ayudar a descubrir los assemblies utilizados por todas las aplicaciones.
Archivos Fuentes Retirados Ya no se requiere New_form.frm y ha sido retirado.
Declaraciones Fuente Cambiadas de Ubicación Las declaraciones para funciones de impresoras utilizaban “as Any” para la estructura PrintInfo. Ya que se requieren estrictas declaraciones en Visual Basic 2005, las siguientes declaraciones han sido cambiadas hasta el archivo donde reside la estructura PrintInfo, roipinfo.dh.vb (anteriormente roipinfo.dh): •
GetSwimPrintInfo
•
SetSwimPrintInfo
•
GetSwimDefaultPrintInfo
•
SetSwimDefaultPrintInfo
•
PrintInfoToAscii
•
PrintInfoFromAscii
Binarios Cambiados de Ubicación Los siguientes archivos han sido cambiados desde la carpeta de programa Microsoft Solomon (C:\Program Files\ Solomon) hasta la carpeta común de archivos de programa (C:\Program Files\Common Files\ Microsoft Dynamics SL): •
SolVBA.dll
•
SolomonWrapper.dll
•
SBLtoVBA.dll
•
SBLtoVBAControls.ocx
Binarios Obsoletos Los siguientes archivos están obsoletos y ya no se requieren: •
SAFCont.dll
8
Visual Basic 2005 Conversion Toolkit for Microsoft Dynamics SL
•
SAFDes.dll
•
SAFTools.dll
Se muestra una lista de los siguientes archivos obsoletos y aquellos que los reemplazan: •
SAFAccRt.dll es reemplazado por SAFAccessRights.dll (managed code)
•
SAFReg.dll es reemplazado por by SAFRegistration.dll (managed code)
Nuevas Carpetas El nuevo código managed es almacenado en las siguientes carpetas de su sistema: •
•
•
•
•
Assemblies — El path típico de esta carpeta es C:\Program Files\Microsoft Dynamics SL\ Assemblies, La carpeta contiene todo los assemblies de código managed utilizados por Microsoft SL SDK y las aplicaciones. Cualquier nuevo assembly agregado por una aplicación debería estar instalado en esta ubicación. Common Files — Se ha agregado una nueva carpeta para contener los assemblies comunes del cliente. El path para esta carpeta es \Program Files\Common Files\Microsoft Dynamics SL. VT SDK — El path típico para esta carpeta es C:\Program Files\Microsoft Dynamics SL\VT. La carpeta contiene los archivos Microsoft SL SDK requeridos para la conversión o desarrollo de aplicaciones. VB 2005 Código Converter — El path típico para esta carpeta es C:\Program Files\ Microsoft Dynamics SL\VT\VB 2005 Código Converter. La carpeta contiene la interfaz de usuario y los archivos de conversión de líneas de comando, como también los archivos base 6.5 requeridos para la conversión (por ejemplo, el archivo SWIMAPI.dll). Plantilla de Proyecto Microsoft Dynamics SL SDK — El path típico para esta carpeta es C:\Program Files\Microsoft Dynamics SL\VT\Microsoft Dynamics SL SDK Project Template. La carpeta contiene el archivo base Microsoft Dynamics SL SDK que se incluye en cada proyecto de aplicación.
Nuevos Assemblies Se han introducido muchos nuevos managed assemblies en esta versión. Un assembly responsable por la interfaz entre las aplicaciones y el kernel de SWIMAPI.dll es el assembly Solomon.Kernel.dll . Este archivo está ubicado en la carpeta Common Programs bajo Microsoft Dynamics SL. Este assembly es parte de Global Assembly Cache y se encuentra automáticamente al referenciarlo en tiempo de diseño o en runtime. Se puede encontrar los siguientes tipos de assemblies en C:\Program Files\Microsoft Dynamics SL\ Assemblies: •
•
Interop assemblies — Utilice estos assemblies para organizar la información entre los espacios de código managed y código nativo. Usted puede necesitar agregar un interop assembly si es que usted planea utilizar un control nativo de third-party. Durante la conversión, este assembly es generado automáticamente si es que no se encuentra. Control array assemblies — Utilice estos assemblies para soportar arreglos de control para tipos de control específicos. Usted puede desear mantener un conjunto de instancias de control (ahora arrays) que le permitirán continuar utilizando un control
¿Qué Ha Cambiado?
9
nativo de terceros (third-party). Durante la conversión, este assembly es generado automáticamente si es que no se encuentra. •
•
Interop.SAF.dll assembly — Este assembly es una combinacón de tipos de interop y arreglos de controles que son específicos para Microsoft Dynamics SL. Otros assemblies — La carpeta Assemblies proporciona una ubicación de almacenamiento para los assemblies requeridos por los módulos de Microsoft Dynamics SL. Los código assemblies requeridos por las aplicaciones de adaptaciones que usted genera utilizando Microsoft Dynamic SL SDK pueden ser almacenadas también en esta carpeta.
Requerimientos de Proyecto Los requerimientos mínimos de proyecto para asegurar que Microsoft SL SDK compilará y ejecutará adecuadamente un proyecto de Tools for Visual Basic son: •
•
•
Referencias de assembly Microsoft Dynamics SL: –
Interop.SAF
–
Solomon.Kernel
Referencias de assembly Microsoft Visual Studio: –
Microsoft.VisualBasic.Compatibility
–
System
–
System.Data (opcional, defaults de Visual Basic 2005)
–
System.Drawing
–
System.Windows.Forms
–
System.Xml (opcional, Visual Basic 2005 defaults)
Archivos Microsoft SL SDK requeridos en cada proyecto: –
Solomon.VBTools. vb — Ubicado en la carpeta \VT\VB\ bajo la carpeta de programa Microsoft Dynamics SL )
–
ApplicationEvents.vb — Ubicado en la carpeta \VT\VB\VBWizards\Templates\1033 bajo la carpeta de programa Microsoft Dynamics SL
•
El formulario principal de inicio debe ser llamado y configurado como Form1.
•
Debe estar habilitado el marco de trabajo (framework) de aplicación.
Opcional: Incluya un componente HelpProvider llamado SAFHelpProvider en cada form que utilizará el help provider.
Nueva Plantilla de Proyecto para Aplicaciones Durante la instalación de Microsoft Dynamics SL SDK, se coloca una plantilla de proyecto en el ambiente Visual Studio 2005. Se puede encontrar en Visual Studio seleccionando File | New | Project o presionando CTRL+N.
10
Visual Basic 2005 Conversion Toolkit for Microsoft Dynamics SL
Figure 1: New Project template
Para evitar problemas, utilice esta plantilla al crear nuevos proyectos de aplicación Microsoft Dynamics SL. La plantilla incluye mejoras específicas de código que son importantes en aplicaciones Microsoft Dynamics SL.
Nota: El Utilitario de Conversión Microsoft Dynamics SL Conversion Utility agregará todos los componentes requeridos a su proyecto.
Cambio de Sistema de Help WinHelp es reemplazado por HTML help en las versiones .NET-connected de Microsoft Dynamics SL. La ayuda a nivel de pantalla está disponible en todos los módulos incluidos en estas versiones. La ayuda a nivel de pantalla se basa en nombres de módulos y pantallas. El nombre del archivo de ayuda es derivado desde el módulo asociado con la pantalla, y el tópico de ayuda es derivado desde el título de la pantalla. Los detalles detrás de la lógica de diseño de ayuda a nivel de pantalla son los siguientes: •
•
•
Cada formulario tiene un componente proveedor de ayuda Visual Basic 2005 llamado SAFHelpProvider. Si la propiedad SAFHelpProvider.HelpNamespace está vacía, el archivo de ayuda se encuentra ubicado en C:\Program Files\Microsoft Dynamics SL\Help. El nombre del archivo de ayuda contiene el acrónimo de dos letras asociado con el nombre de programa de la pantalla. Por ejemplo, 0101000.exe es un archivo de Contabilidad (General Ledger), de modo que el archivo de ayuda es SL_GL.chm. Si la propiedad Forms HelpNavigator es AssociateIndex y Forms HelpKeyword está vacía, el tópico de ayuda para la totalidad del formulario se basa en el título del formulario. Por ejemplo, el tópico de ayuda para la pantalla Registration toma el título “Registration (95.250.00)” y lo convierte para que coincida con el tópico de generación de ayuda “SL_SM_rtf/Registration_95_250_00.htm”.
Usted puede adaptar la ayuda a nivel de pantalla agregando su propio componente HelpProvider que tenga un nombre diferente de SAFHelpProvider para cada formulario
¿Qué Ha Cambiado?
11
Vea la documentación de Visual Basic 2005 por información acerca del uso de componente HelpProvider. La ayuda a nivel de pantalla es invocada presionando la tecla F1 o el botón Help en la barra de herramientas de la aplicación.
Interfaces de Programación de la Aplicación Cambios a APIs en los que se retiró el Parámetro Length Las siguientes interfaces de programación (APIs) han cambiado para acomodarse al ambiente de managed code. El paso de largos de buffer como parámetros ya no es requerido porque la información puede ser obtenida utilizando reflection in .NET. Public Sub SetAddr(ByVal LevelNbr As Short, ByVal TableNameStr As String, ByRef bTableName As SolomonDataObject, ByRef nTableName As Object) Function PVChkFetch1(ByVal Ctrl As Object, ByRef Cursor As Short, ByVal SQLParmValue As String, ByRef bTable1 As SolomonDataObject) As Short Function PVChkFetch4(ByVal Ctrl As Object, ByRef Cursor As Short, ByVal SQLParmValue As String, ByRef bTable1 As SolomonDataObject, ByRef bTable2 As Object, ByRef bTable3 As Object, ByRef bTable4 As Object) As Short Function PVChkFetch8(ByVal Ctrl As Object, ByRef Cursor As Short, ByVal SQLParmValue As String, ByRef bTable1 As SolomonDataObject, ByRef bTable2 As Object, ByRef bTable3 As Object, ByRef bTable4 As Object, ByRef bTable5 As Object, ByRef bTable6 As Object, ByRef bTable7 As Object, ByRef bTable8 As Object) As Short Sub SInsert1(ByVal Cursor As Short, ByVal TablesInsertingInto As String, ByRef bTable1 As SolomonDataObject) Sub SInsert4(ByVal Cursor As Short, ByVal TablesInsertingInto As String, ByRef bTable1 As SolomonDataObject, ByRef bTable2 As Object, ByRef bTable3 As Object, ByRef bTable4 As Object) Sub SInsert8(ByVal Cursor As Short, ByVal TablesInsertingInto As String, ByRef bTable1 As SolomonDataObject, ByRef bTable2 As Object, ByRef bTable3 As Object, ByRef bTable4 As Object, ByRef bTable5 As Object, ByRef bTable6 As Object, ByRef bTable7 As Object, ByRef bTable8 As Object) Public Function SqlFetch1(ByRef cursor As Short, _ ByVal sqlStatement As String, _ ByRef bTable1 As Object _ ) As Short Public Function SqlFetch4(ByRef Cursor As Short, _ ByVal sqlStatement As String, _ ByRef bTable1 As Object, _ ByRef bTable2 As Object, _ ByRef bTable3 As Object, _ ByRef bTable4 As Object _ ) As Short Public Function SqlFetch8(ByRef Cursor As Short, _ ByVal SqlStr As String, _ ByRef bTable1 As Object, _ ByRef bTable2 As Object, _ ByRef bTable3 As Object, _ ByRef bTable4 As Object, _ ByRef bTable5 As Object, _ ByRef bTable6 As Object, _
12
Visual Basic 2005 Conversion Toolkit for Microsoft Dynamics SL
ByRef bTable7 As Object, _ ByRef bTable8 As Object _ ) As Short Public Function SFetch1(ByVal cursor As Short, _ ByRef bTable1 As Object) As Short Function SFetch4(ByVal Cursor As Short, _ ByRef bTable1 As Object, _ ByRef bTable2 As Object, _ ByRef bTable3 As Object, _ ByRef bTable4 As Object _ ) As Short Function SFetch8(ByVal Cursor As Short, _ ByRef bTable1 As Object, _ ByRef bTable2 As Object, _ ByRef bTable3 As Object, _ ByRef bTable4 As Object, _ ByRef bTable5 As Object, _ ByRef bTable6 As Object, _ ByRef bTable7 As Object, _ ByRef bTable8 As Object _ ) As Short Sub SUpdate1(ByVal Cursor As Short, ByVal TablesUpdating As String, ByRef bTable1 As SolomonDataObject) Sub SUpdate4(ByVal Cursor As Short, ByVal TablesUpdating As String, ByRef bTable1 As SolomonDataObject, ByRef bTable2 As Object, ByRef bTable3 As Object, ByRef bTable4 As Object) Sub SUpdate8(ByVal Cursor As Short, ByVal TablesUpdating As String, ByRef bTable1 As SolomonDataObject, ByRef bTable2 As Object, ByRef bTable3 As Object, ByRef bTable4 As Object, ByRef bTable5 As Object, ByRef bTable6 As Object, ByRef bTable7 As Object, ByRef bTable8 As Object) Function SGroupFetch1(ByVal Cursor As Short, ByRef bTable1 As SolomonDataObject) As Short Public Function SGroupFetch1(ByVal cursor As Short, _ ByRef bTable1 As Object) As Short Function SGroupFetch4(ByVal Cursor As Short, _ ByRef bTable1 As Object, _ ByRef bTable2 As Object, _ ByRef bTable3 As Object, _ ByRef bTable4 As Object _ ) As Short Function SGroupFetch8(ByVal Cursor As Short, _ ByRef bTable1 As Object, _ ByRef bTable2 As Object, _ ByRef bTable3 As Object, _ ByRef bTable4 As Object, _ ByRef bTable5 As Object, _ ByRef bTable6 As Object, _ ByRef bTable7 As Object, _ ByRef bTable8 As Object _ ) As Short Function DetailSetup(ByVal Cursor As Short, ByVal SAFGridCtrl As Interop.SAF.SAFGrid, ByVal AutoLineNbfFld As Object, ByRef bTable1 As SolomonDataObject, ByRef bTable2 As Object, ByRef bTable3 As Object, ByRef bTable4 As Object) As Short Function DetailSetup8(ByVal Cursor As Short, ByVal SAFGridCtrl As Interop.SAF.SAFGrid, ByVal AutoLineNbfFld As Object, ByRef bTable1 As SolomonDataObject, ByRef bTable2 As Object, ByRef bTable3 As Object,
¿Qué Ha Cambiado?
13
ByRef bTable4 As Object, ByRef bTable5 As Object, ByRef bTable6 As Object, ByRef bTable7 As Object, ByRef bTable8 As Object) As Short Function MOpen(ByVal DelRetToSystem As Short, ByRef bTable1 As SolomonDataObject, ByRef bTable2 As Object, ByRef bTable3 As Object, ByRef bTable4 As Object) As Short Function MOpen8(ByVal DelRetToSystem As Short, ByRef bTable1 As SolomonDataObject, ByRef bTable2 As Object, ByRef bTable3 As Object, ByRef bTable4 As Object, ByRef bTable5 As Object, ByRef bTable6 As Object, ByRef bTable7 As Object, ByRef bTable8 As Object) As Short Function MExtend(ByVal MemHandle As Short, ByRef bTable As SolomonDataObject) As Short Function DBNavFetch1(ByVal Ctrl As Object, ByRef Cursor As Short, ByVal SQLParmValue As String, ByRef bTable1 As SolomonDataObject) As Short Function DBNavFetch4(ByVal Ctrl As Object, ByRef Cursor As Short, ByVal SQLParmValue As String, ByRef bTable1 As SolomonDataObject, ByRef bTable2 As Object, ByRef bTable3 As Object, ByRef bTable4 As Object) As Short Function DBNavFetch8(ByVal Ctrl As Object, ByRef Cursor As Short, ByVal SQLParmValue As String, ByRef bTable1 As SolomonDataObject, ByRef bTable2 As Object, ByRef bTable3 As Object, ByRef bTable4 As Object, ByRef bTable5 As Object, ByRef bTable6 As Object, ByRef bTable7 As Object, ByRef bTable8 As Object) As Short Sub MKeyOffset(ByVal MemHandle As Short, _ ByVal KeySegmentNbr As Short, _ ByRef bTable As SolomonDataObject, _ ByVal KeyFldByteOffset As Short, _ ByVal KeyFldDataType As Short, _ ByVal KeyFldDataLength As Short, _ ByVal Ascending As Short) Function DetailSetupExtend(ByVal SAFGridCtrl As Interop.SAF.SAFGrid, ByRef bTable1 As SolomonDataObject) As Short
Cambios en SAF Event Signature Todos los event signatures requieren la palabra clave Handles en conjunto con el nombre del evento. El siguiente es un ejemplo de event signature adicional para el evento Update en un control Update: Handles Update1.UpdateEvent
Cambios de Control Los controles específicos de Microsoft utilizados por versiones anteriores de Tools for Visual Basic han sido reemplazados por sus equivalentes .NET. Los siguientes controles intrínsecos Visual Basic mapean los controles anteriores a través de Conversion Toolkit: Control
Mapea a…
VB.Form
System.Windows.Forms.Form
VB.CommandButton
System.Windows.Forms.Button
VB.Label
System.Windows.Forms.Label
VB.TextBox
System.Windows.Forms.TextBox
VB.Frame
System.Windows.Forms.GroupBox or System.Windows.Forms.Panel
MS.SSTab
System.Windows.Forms.TabControl & System.Windows.Forms.TabPage
14
Visual Basic 2005 Conversion Toolkit for Microsoft Dynamics SL
Framing El control Frame ha sido reemplazado por GroupBox o el control Panel . Si la propiedad BorderStyle del control Frame Visual Basic 6.0 es None, un control Panel reemplazará el control Frame. De otro modo, se utiliza un GroupBox para reemplazar el control Frame control.
Tarjetas Se han efectuado cambios significativos al control tarjeta (tab). El control tarjeta de Visual Basic 6.0 era un control contenedor-simple container que contenía todas las páginas de tarjetas y controles de una tarjeta. La tarjeta de Visual Basic 2005 consiste de dos controles, el control tarjeta y la página de tarjeta. El control tarjeta es un container que almacena múltiples controles de páginas de tarjetas. Cada control página de tarjeta (tab page) contiene los controles para esa página de tarjeta. El acceso a tarjetas es monitoreado por Microsoft Dynamics SL con el fin de producir el comportamiento adecuado en una pantalla. Anteriormente, muchos desarrolladores utilizaban settings directos para las tarjetas para alcanzar los resultados deseados. Los settings de Property debían hacerse a través de la API SetProps() API para mantener el flujo de programa adecuado en las aplicaciones. Para establecer una visibilidad de una página de tarjetas específica, call SetProps(