Explicación detallada de la compilación de la línea de comandos de PowerBuilder[1]
El sistema de la empresa se desarrolla utilizando PB + SQLServer y utiliza Visual Source seguro para el control de versiones. Debido al impacto de los requisitos de personalización del proyecto, el sistema a menudo debe actualizarse y compilarse. Cada flujo de trabajo debe compilarse primero. en la máquina responsable del proyecto Abra VSS en VSS, descargue el PBL que debe actualizarse localmente, luego busque el directorio donde se encuentra el programa fuente y elimine el atributo de solo lectura del directorio y todos sus subarchivos. (Porque cuando obtenga la última versión en VSS, el archivo se configurará automáticamente como de solo lectura y PB no se compilará). Luego abra PB y comience a compilar una vez completada la compilación, ya que cada PBL se coloca en diferentes directorios según. módulos, el PBD generado no está en la misma carpeta. En este momento, también necesito encontrar todos los PBD a través de la búsqueda y copiarlos al directorio de lanzamiento. Después de hacer este tipo de trabajo repetitivo varias veces, finalmente se volvió molesto. , Consideré el procesamiento por lotes para reducir el trabajo repetitivo.
Primero, GetLastVersion de VSS ahora no puedo encontrar una manera de eliminarlo en lotes. La lectura de atributos también se puede resolver usando el comando Attrib en el modo de línea de comando. Para copiar el PBD generado en el mismo directorio, escribí un archivo por lotes para copiar específicamente los PBD en el directorio del módulo fijo al directorio de lanzamiento. Se puede decir que es la clave del problema. es controlar la apertura automática de PB. Una vez compilado el programa, ingresará y abrirá automáticamente el archivo por lotes responsable de copiar PBD. Anteriormente, no había podido encontrar tiempo y no había usado el modo de línea de comando de PB. así que aún no lo había escrito. Bueno, después de buscar a tientas este archivo y combinarlo con la guía de algunos héroes en CSDN, finalmente logré probarlo y ahora escribo el proceso para que todos me corrijan.
Esto. así es como se describe en la ayuda para la compilación de la línea de comando de PB
Desde una línea de comando
Cuando implementas o construyes un espacio de trabajo desde una línea de comando, PowerBuilder inicia, completa la compilación y sale tan pronto como finalice la operación. Para conservar un archivo de registro para la sesión, puede enviar el contenido de la ventana Salida a un archivo. La tabla muestra opciones de línea de comando para crear e implementar objetivos y espacios de trabajo
Al igual que con otras opciones de línea de comando, solo necesita usar la letra o letras iniciales del nombre de la opción, siempre y cuando la opción esté identificada de manera única. Las opciones de implementación completa e incremental solo se pueden usar con la opción de espacio de trabajo. Necesita crear proyectos y especifique las opciones de compilación e implementación para el espacio de trabajo en PowerBuilder antes de iniciar una compilación desde la línea de comando. Implementar compila los proyectos en el destino en el orden indicado en la página Implementar del destino.
s cuadro de diálogo de propiedades
Ejemplo
Este ejemplo supone que la ubicación del archivo ejecutable de PowerBuilder está en la ruta de su sistema. Abre el espacio de trabajo llamado CDShop, construye e implementa los destinos en el espacio de trabajo de acuerdo según sus especificaciones en el espacio de trabajo y las propiedades de destino registra el contenido de la ventana de Salida en el archivo D:/tmp/cdshop y sale de PowerBuilder:
pb /w D:/CDShop/CDShop pbw /d / ou D:/tmp/cdshop out
De hecho, lo que dije anteriormente significa que podemos ejecutar PB en el modo de línea de comando. A través de algunos parámetros, podemos controlar que PB compile el espacio de trabajo especificado y luego automáticamente. salir de esto De hecho, es la función que necesito. Inmediatamente comencé a probar en modo de línea de comando. Algunas máquinas no pueden abrir PB exe directamente para ejecutar. Esto requiere configurar las variables de entorno del sistema y colocar el directorio donde se encuentra PB en la ruta. no se introducirá un método específico o puede presionar PB directamente para ingresar la ruta completa. En cuanto a los parámetros posteriores /w, el nombre del espacio de trabajo especificado va seguido de //deploy o /fullbuild /incrementalbuild. Estos tres parámetros significan ejecutar el lanzamiento. de tareas de compilación completa o compilación incremental respectivamente. Simplemente elija una de ellas, pero debe tenerse en cuenta que aquí necesitamos usar el parámetro /deploy. ¿Por qué si está utilizando el parámetro fullbuild o increamentbuild, PB solo compilará y no generará? PBD o DLL En el pasado, cuando compilaba en PB, siempre pensaba que Deploy es Build porque hay un parámetro en Deploy Project que es compilación completa o compilación incremental, por lo que nunca he podido descubrir la diferencia entre. Implementar y compilar. Conocí a otros hermanos en Internet que también tenían esta pregunta. Esta vez descubrí a través de experimentos que, de hecho, hay una diferencia si no usas Implementar, sino compilarlo y copiarlo directamente. Para el usuario, el programa aún es antiguo. Entonces, ¿cómo sabe PB qué implementación del proyecto se ejecutará después de colgar los parámetros? La configuración es la siguiente:
El nodo secundario debajo del espacio de trabajo es Target Right. -haga clic en Destino, seleccione Propiedades en el menú emergente y seleccione la página Implementar en la ventana de propiedades emergente como se muestra a continuación lishixinzhi/Article/program/PB/201311/24586 p>