anonymous Log in
Search
Recents:
v3.0
genexusextensions
Saber en que version de GeneXus esta una KB
12/12/18 17:52

Enrique Almeida

Replies: 2

Me ha pasado alguna vez (por suerte no muchas) que ejecuto una extension
que abre una KB, (para realizar alguna tarea) y la abro con un GeneXus
diferente a la version que es esa KB
Por ejemplo, tengo una KB en GeneXus 15 y por error, la abro en una
extension con GeneXus 16.
El inconveniente que tiene esto, es que al hacerlo, se disparan una
cantidad de eventos de conversion, dejando muchas veces la KB operativa en
la nueva version, pero inutil para el trabajo, y recuperarla al estado
anterior, lleva siempre un buen rato.
Esto puede pasar, si tenemos parametrizado las diferentes instalaciones de
GeneXus y cometemos un error al llamar a una extension.
Para tratar de evitar esto, busque y no encontre una forma de saber cual es
la version de GeneXus que tiene una KB (sin abrirla antes).
Estaria bueno poder contar con una tarea MSBUILD que permita saber con que
fue abierta por ultima vez la KB para poder incorporar algun chqueo en mis
scripts.
Replies

megv

13/12/18 07:55
Hola Enrique, Consulta los emails de la lista del dia 24/08/2016 donde yo pregunte por lo mismo y Federico Azzato me dio la respuesta. Creo que en tu caso debes subscribirte al evento de "ArchitectureEvents.AfterOpenKB", yo en mi caso solo lo queria para una extensión del IDE y por eso me subscribia al evento "KnowledgeBase.KBOpening". Te paso su ejemplo con los valores de los argumentos por si no encuentras los correos. ------------------------------------------------------------------------------------------------------ class MyPackage : AbstractPackageUI { public MyPackage() { KnowledgeBase.KBOpening += OnKBOpening; } private void OnKBOpening(object sender, OpeningKBEventArgs args) { if (args.Status == KBOpenStatus.Normal) // los estados distintos de Normal son los que GX muestra un diálogo para permitir cancelar la apertura { if (args.CurrentGXBuild != args.Properties.LastOpenGXBuild) { if (StandardMessageBox.Show(WARNING_DIFFERENT_BUILD_MSG, DIFFERENT_BUILD_TITLE, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) args.Cancel = true; } } } } ------------------------------------------------------------------------------------------------------ Saludos, Milton Gonzalez ---------- Forwarded message ---------

Enrique Almeida

13/12/18 08:42
Graicas por la respuesta. En una extension puedo hacerlo y evitarlo. Lo que quiero ahora, es tener un mecanismo para evitar la conversion automatica en el OpenKB que se hace en una tarea MSBuild. Me gustaria contar con una opcion en el el OpenKB que de error si la KB necesita conversion al abrirlo, que se mantenga por default como hoy, pero que pueda configurarlo como para que no la haga. Hoy es algo asi: y me gustaria que pudiera poner algo asi: con AutomaticConvert con un valor en true por default (para no cambiar el comportamiento actual). Enrique PD: Perdon por poner este pedido de requerimiento en el un foro de extensiones, pero no encontre otro lugar donde poner este pedido y que sea leido por las personas que pueden lograr que se hagan. On Thu, Dec 13, 2018 at 8:15 AM Milton Gonzalez


Back to genexusextensions