Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-03-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Quieres decir que ese 'where' es una variable?
Cámbiale el nombre, por ejemplo cWhere, y prueba.
Responder Con Cita
  #2  
Antiguo 29-03-2018
Diego E. Diego E. is offline
Miembro
 
Registrado: mar 2018
Posts: 30
Poder: 0
Diego E. Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Quieres decir que ese 'where' es una variable?
Cámbiale el nombre, por ejemplo cWhere, y prueba.
Si, ese where es una variable.
Ya intenté cambiarle el nombre y sigue el mismo error, reemplacé el componente en el módulo, agregué directamente los parámetros y sigue sin funcionar. ¿Por cierto saben por que al correrlo en Android me convierte una variable de String a Short?
Responder Con Cita
  #3  
Antiguo 29-03-2018
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Hola,

Esto parece un caso típico de referencia débil hacia una instancia, hay que buscar dentro del código (haciendo debug) ¿Cuál es el objeto que Android está liberando automáticamente? y convertir dicha instancia en una referencia fuerte.

Para entender esto, recomiendo el libro de DALIJA PRASNIKAR llamado Memory Management For Classic And ARC, el cual trata precisamente este tipo de temas. Si queremos evitar este tipo de sorpresas (Ya sea que usemos Delphi o cualquier otro lenguaje) en dispositivos móviles debemos comprender dicho tema... pues los sistemas operativos móviles como Android o iOS trabajan de ese modo.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #4  
Antiguo 29-03-2018
Diego E. Diego E. is offline
Miembro
 
Registrado: mar 2018
Posts: 30
Poder: 0
Diego E. Va por buen camino
Cita:
Empezado por jhonny Ver Mensaje
Hola,

Esto parece un caso típico de referencia débil hacia una instancia, hay que buscar dentro del código (haciendo debug) ¿Cuál es el objeto que Android está liberando automáticamente? y convertir dicha instancia en una referencia fuerte.
Gracias por la información, tengo que checar bien ese asunto por que me podría traer conflictos en el futuro. Por el momento ya logré hacerlo funcionar agregando una instrucción active antes de la de Execute, no estoy muy seguro de por que resolvió el problema pero lo hizo.

Código:
DtmClientes.MSQueryCmbPedido.Active := True;
    DtmClientes.MSQueryCmbPedido.Execute;
Responder Con Cita
  #5  
Antiguo 03-04-2018
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.286
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
No he usado SDAC (los componentes que comentas), pero normalmente para una consulta tipo SELECT utilizamos un OPEN o un ACTIVE y para otro tipo de SQL's (INSERT(/DELETE/UPDATE) utilizamos un Execute.
__________________
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
  #6  
Antiguo 03-04-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
No he usado SDAC (los componentes que comentas), pero normalmente para una consulta tipo SELECT utilizamos un OPEN o un ACTIVE y para otro tipo de SQL's (INSERT(/DELETE/UPDATE) utilizamos un Execute.
Yo tuve que usarlo en cierta ocasión puntual y el funcionamiento era tal y como describes.
Responder Con Cita
  #7  
Antiguo 07-04-2018
Diego E. Diego E. is offline
Miembro
 
Registrado: mar 2018
Posts: 30
Poder: 0
Diego E. Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
No he usado SDAC (los componentes que comentas), pero normalmente para una consulta tipo SELECT utilizamos un OPEN o un ACTIVE y para otro tipo de SQL's (INSERT(/DELETE/UPDATE) utilizamos un Execute.
No estoy muy seguro, pero creo que active por lo que entendí es para mantener el componente activo después de que se cierra la conexión a la BD, pero en el error me funcionó, voy a intentar usar el componente ahora de ésta forma que me comentas. Gracias.
Responder Con Cita
Respuesta



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
raised exception class segmentation fault (11) al iniciar en modo debug D1360666 Desarrollo en Delphi para Android 27 04-05-2018 22:13:01
Problemas de Exception Class edwin.simon OOP 11 23-09-2014 20:35:37
Raised exception class amparog Varios 3 12-09-2010 00:18:59
Exception class EInvvalidOperation... MON___ OOP 2 03-10-2007 13:54:38
Exception class EAccess violation... Giniromero Conexión con bases de datos 1 13-06-2003 12:47:38


La franja horaria es GMT +2. Ahora son las 23:16:32.


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