Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Sistemas operativos > Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-01-2021
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
cambia el valor de variable por otros programa

Buenas Tardes un Saludos a Todos Feliz año y Felicitaciones en todo los eventos.

Me han informado por primera vez en mis años en programa un comportamiento que sucede únicamente en un formulario denominado Cotizaciones la cual tengo una variable pública de tipo Entero llamada "ModoConsultaCot" en la que el valor 1 es consulta, 2 es Actualización y 3 es Agregar en fin me han notificado los usuarios que dejan temporalmente abierto el formulario y al empezar a realizar el ingreso de una cotización sucede que pierde ese valor la variable en la que el botón y el programa simplemente no hace nada en el botón de Aceptar que tiene la funcion:

Código Delphi [-]
procedure TfrmCotizadorPricipal.btnEmiteCotClick(Sender: TObject);
begin
    case dmCotiza.ModoConsultaCot of
        3: //Insertamos
            begin
                if dbgProductos.DataSource.DataSet.isEmpty then
                begin
                    ShowMessage
                      ('Caramba no tenemos productos en la lista para cotizar');
                    lbleBuscaProducto.SetFocus;
                end
                else
                begin
                    if application.MessageBox
                      (pchar('¿Deseas Emitir esta Cotización?'),
                      pchar('Cotizaciones'), (MB_YESNO + MB_ICONQUESTION)) = IDYES
                    then
                    begin
                        IngresaCotDB;
                        ExitoCot := True;
                        if ExitoCot = True then
                        begin
                            ImprimeCotizacion;
                            Limpiamostodo;
                            dmCotiza.ModoConsultaCot := 3;
                            ShowMessage('Listo puedes Verificar la impresora');
                        end;
                    end
                    else
                    begin
                        // Limpiamostodo;
                        rbBuscaCodigo.Checked := True;
                        lbleBuscaProducto.SetFocus;
                    end;
                end;
            end;
        2: // Actualizamos
            begin
                if ActualizaCot = True then
                begin
                    ImprimeCotizacion;
                    Limpiamostodo;
                    ShowMessage('Actualización Correcta');

                end
                else
                begin
                    ShowMessage
                      ('Error en Actualización Favor Llame al Adminsitrador Sistema');
                end;
            end;
    end;
end;

Alguien conoce si es posible que por pura casualidad de la vida esa variable es posible ser modificada por algún otro programa que tenga ese mismo nombre de variable? tengo mis dudas en cuanto hilos de ejecución ahora con esto. vuelvo a repetir nunca en los años que tengo usando el programa me habian notificado ese comportamiento.

PD: el sistema operativo instalado es Windows 10


Saludos:

novato_erick
Responder Con Cita
  #2  
Antiguo 09-01-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Si cierras el datamodule, ya la variable no existirá... por decir algo.
Responder Con Cita
  #3  
Antiguo 10-01-2021
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Si cierras el datamodule, ya la variable no existirá... por decir algo.
Hola Buenas tardes disculpa por no responder enseguida.

no cierro el datamodule en ninguna circunstancia ya que en el está el de conexion etc pero sabes cambiaré la variable a una unidad de variables nueva para ver si tiene que ver con usar dicha variable en el módulo de datos.

Gracias Casimiro siempre contando con tu experiencia.

Saludos

novato_erick
Responder Con Cita
  #4  
Antiguo 11-01-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por novato_erick Ver Mensaje
...sucede únicamente en un formulario denominado Cotizaciones la cual tengo una variable pública de tipo Entero llamada "ModoConsultaCot" en la que el valor 1 es consulta, 2 es Actualización y 3

Creo que el problema puede venir por ser una variable global.
¿Deberías revisar si hay otros puntos del programa donde se pueda modificar? ¿O si hay la posibilidad de que existan 2 objetos creadpos de forma simultánea?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 11-01-2021
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Creo que el problema puede venir por ser una variable global.
¿Deberías revisar si hay otros puntos del programa donde se pueda modificar? ¿O si hay la posibilidad de que existan 2 objetos creadpos de forma simultánea?
Germán es un enorme placer encontrar respuestas de eminencias como ustedes.

Tenes razón, la variable global que se encuentra en el modulo de datos "normalmente" se encuentra en estado "3" de ingresar cotizaciones, solamente cambia al llamar un formulario denominado Consulta Cotizaciones en la que cambia su estado al presionar Modificar a "2" o Consultar a "1".

En fin el comportamiento reportado por el usuario:
[usuario:] "buenas tardes he notado que dejo la pantalla principal de cotizaciones sin usar durante un periodo la cual me voy hacer otras cosas y al nuevamente utilizarlo agrego bien los productos y los datos del cliente pero al oprimir el botón de cotizar no me hace nada. Lo que he hago es cerrar el formulario y volverlo abrir logrando realizar la cotización".

al principio del hilo me duda estaba es que si es posible que por casualidad de la vida otro programa que no sea el desarrollado tenga el nombre de esa variable y que al ser usado me modifique mi variable ya que la computadora es usado también para navegar en internet y otras aplicaciones.

Saludos;


novato_erick
Responder Con Cita
  #6  
Antiguo 11-01-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por novato_erick Ver Mensaje
al principio del hilo me duda estaba es que si es posible que por casualidad de la vida otro programa que no sea el desarrollado tenga el nombre de esa variable y que al ser usado me modifique mi variable ya que la computadora es usado también para navegar en internet y otras aplicaciones.
Como poder, puede ser, a mí me ha pasado un par de veces en 37 años
Responder Con Cita
  #7  
Antiguo 11-01-2021
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Como poder, puede ser, a mí me ha pasado un par de veces en 37 años
entiendo cambiaré entonces el nombre de la variable. Les comento si eso resolvió el problema ya que el usuario suele dejar concurridamente el programa abierto y me lo ha reportado 6 veces en menos de 15 días.

Saludos

novato_erick
Responder Con Cita
  #8  
Antiguo 12-01-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por novato_erick Ver Mensaje
... me duda estaba es que si es posible que por casualidad de la vida otro programa que no sea el desarrollado tenga el nombre de esa variable y que al ser usado me modifique mi variable ya que la computadora es usado también para navegar en internet y otras aplicaciones.

Si los programas están bien diseñados no es posibble que por accidente un programa modifique las variables de otro, simplemente porque se llamen igual.
Si los programas no están bien diseñados podría ser que uno accediera a una parte de memoria de otro y modificara valores, cosa muy improbable.
E intencionadamente no le veo sentido a que otro de los programas que utilices intente modificar una variable del tuyo.
Así que me inclino más porque sea un problema de tu propio programa.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 12-01-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Así que me inclino más porque sea un problema de tu propio programa.
Eso tiene una posibilidad del 99,999999999999999999% de ser así.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Asignar el valor de una variable de php a una variable js que puede no existir jandroruiz PHP 5 04-03-2013 13:23:02
Variable String cambia de valor a '' oscarac Varios 3 30-05-2011 08:28:39
pasar valor DBLookupComboBox a otros campos marulo OOP 3 16-04-2005 00:04:44
Valor de DBEdit a partir de la multiplicación de otros dos RyAr Conexión con bases de datos 8 09-07-2004 18:14:26
Mi primer programa en delphi el, el .exe en otros ordenadores no va Daltor Varios 3 02-04-2004 16:21:00


La franja horaria es GMT +2. Ahora son las 03:56:41.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi