FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Referencia al formulario
Buenas tardes,
Quisiera saber si en delphi hay alguna forma de referenciar al mismo formulario donde esta uno trabajando, me explico: En Visual basic hay se usa ME para llamar componentes del mismo form, en foxpro se usa THISFORM. El asunto es que estoy usando procedimientos y cuando trato de llamar un componente me dice que no lo encuentra y me lo marca de rojo. Uso el findcomponent pero igual me marca access violation a la hora de ejecutar. Una linea donde me da access violation es la siguiente: tADPhysIBDriverLink(findcomponent('ADPhysIBDriverLink1')).VendorLib:='FBCLIENT.DLL'; tadquery(findcomponent('adquery1')).Close; tadconnection(findcomponent('adconnection1')).Connected:=True; y si lo hago sin findcomponent, igual me arroja el error. Gracias por adelantado, kiranov.
__________________
Kiranov (Alberto Vega) Chihuahua, Mexico. --------------------------------------------------------------------------------- "El hardware es lo que hace a una máquina rápida; el software es lo que hace que una máquina rápida se vuelva lenta." Craig Bruce en 1990 --------------------------------------------------------------------------------- |
#2
|
||||
|
||||
Hola
No entiendo la pregunta. Dices hacer referencia al mismo form donde estas trabajando ?. Para hacer referencia a un componente del mismo form simplemente se pone el nombre del componente, si se hace referencia a otro form se usa el uses de unit de ese form. Por ejemplo, segun entiendo de tu ejemplo si quieres cerrar el componente adquery1 simplemente lo cierras asi: Suponendo que se llame asi, nomalmente es ADOQuery1. Tal vez esta mal escrito y por eso no lo encuentra. Saludos
__________________
Siempre Novato |
#3
|
||||
|
||||
Referencia a una forma
Gracias caral por tu pronta respuesta.
Se trata de un mismo form, pero esa linea va dentro de un procedimiento, el cual mando llamar desde el create. le estoy poniendo With form1 do begin end pero a la hora de ejecutar el procedimiento me da access violation. realmente ya le di vueltas pero no logro hacer que ejecute el ADQuery1.Close;, intente haciendolo de este forma: TADQuery(findcomponent('ADQuery1')).Close; pero sale el error igual, justo en esa linea... Saludos! Kiranov
__________________
Kiranov (Alberto Vega) Chihuahua, Mexico. --------------------------------------------------------------------------------- "El hardware es lo que hace a una máquina rápida; el software es lo que hace que una máquina rápida se vuelva lenta." Craig Bruce en 1990 --------------------------------------------------------------------------------- |
#4
|
||||
|
||||
Hola
Si es un procedure hecho por ti declaralo donde estan los otros procedures (por ejemplo el formcreate), asi lo reconocera. Saludos
__________________
Siempre Novato |
#5
|
||||
|
||||
Hola
Tambien lo podrias hacer asi, dentro del procedimiento que creaste:
o
No me acuerdo cual es la opción correcta, no tengo delphi a mano. Saludos
__________________
Siempre Novato |
#6
|
||||
|
||||
Lo he declarado pero ahora no me lo compila. lo mas raro de todo es que si no lo declaro y lo compilo, todo bien. Pero en tiempo de ejecucion es cuando me da el access violation, en cualquier linea de ese procedimiento, por ejemplo el ADQuery1.Close;
Saludos! Kiranov
__________________
Kiranov (Alberto Vega) Chihuahua, Mexico. --------------------------------------------------------------------------------- "El hardware es lo que hace a una máquina rápida; el software es lo que hace que una máquina rápida se vuelva lenta." Craig Bruce en 1990 --------------------------------------------------------------------------------- |
#7
|
||||
|
||||
Este es el segmento del procedimiento que da el problema:
procedure refrescargrid; begin with form1 do begin adconnection1.ConnectionString:=cadenaconexion; ADPhysIBDriverLink1.VendorLib:='FBCLIENT.DLL'; adquery1.Close; adconnection1.Connected:=True; end; Gracias por la ayuda! Kiranov
__________________
Kiranov (Alberto Vega) Chihuahua, Mexico. --------------------------------------------------------------------------------- "El hardware es lo que hace a una máquina rápida; el software es lo que hace que una máquina rápida se vuelva lenta." Craig Bruce en 1990 --------------------------------------------------------------------------------- |
#8
|
||||
|
||||
Hola
Copia el codigo de ese unit y ponlo aqui a ver si noto el problema. Saludos PD; para que se vea bien ponle las etiquetas de delphi [ DELPHI]codigo.... [ /DELPHI] Si los espacios que deje entre los corchetes y la palabra delphi y / osea
__________________
Siempre Novato |
#9
|
||||
|
||||
AAAAH! Olvide decir un dato que creo es importante, pero no se si influya en este caso: Lo estoy ejecutando desde una BPL...
Saludos! Kiranov
__________________
Kiranov (Alberto Vega) Chihuahua, Mexico. --------------------------------------------------------------------------------- "El hardware es lo que hace a una máquina rápida; el software es lo que hace que una máquina rápida se vuelva lenta." Craig Bruce en 1990 --------------------------------------------------------------------------------- |
#10
|
||||
|
||||
Gracias caral, lo hare de esa forma. Esque hay cosas que aun no me deja hacer en los foros, como poner caritas y moverle a mi perfil, creo que ya con el tiempo podré... creo jeje
Saludos! Kiranov
__________________
Kiranov (Alberto Vega) Chihuahua, Mexico. --------------------------------------------------------------------------------- "El hardware es lo que hace a una máquina rápida; el software es lo que hace que una máquina rápida se vuelva lenta." Craig Bruce en 1990 --------------------------------------------------------------------------------- |
#11
|
||||
|
||||
Hola
Interesante, que es una BPL ?. Saludos
__________________
Siempre Novato |
#12
|
||||
|
||||
Es como una dll pero mas avanzada y puede incorporar formularios. intento tener los modulos separados para no tener toda la carga de la aplicacion arriba. Se programa el formulario de igual forma... pero me eh topado con ese problema, sigo enfrascado. no hayo el porque de este error...
Saludos! Kiranov
__________________
Kiranov (Alberto Vega) Chihuahua, Mexico. --------------------------------------------------------------------------------- "El hardware es lo que hace a una máquina rápida; el software es lo que hace que una máquina rápida se vuelva lenta." Craig Bruce en 1990 --------------------------------------------------------------------------------- |
#13
|
||||
|
||||
Hola
Vamos por partes a ver si lo solucionas. 1, declaramos el procedimiento donde estan los demas en el form, asi:
Luego el procedimento:
A ver que pasa. saludos
__________________
Siempre Novato |
#14
|
||||
|
||||
Que barbaro, gracias caral! asi era el proceso... ya tenia la cabeza en los pies de tanto buscarle...
En serio muchas gracias! Saludos! Kiranov (Alberto)
__________________
Kiranov (Alberto Vega) Chihuahua, Mexico. --------------------------------------------------------------------------------- "El hardware es lo que hace a una máquina rápida; el software es lo que hace que una máquina rápida se vuelva lenta." Craig Bruce en 1990 --------------------------------------------------------------------------------- |
#15
|
||||
|
||||
Para referenciar al mismo formulario en q se esta programando en Visual Basic se usa Me en foxpro Thisform y en delphi Self
Saludos |
#16
|
||||
|
||||
Gracias caminante por tu ayuda!
Saludos!
__________________
Kiranov (Alberto Vega) Chihuahua, Mexico. --------------------------------------------------------------------------------- "El hardware es lo que hace a una máquina rápida; el software es lo que hace que una máquina rápida se vuelva lenta." Craig Bruce en 1990 --------------------------------------------------------------------------------- |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Parámetros por referencia a un .exe | Parsec | OOP | 4 | 25-05-2012 20:19:28 |
Referencia circular | Enan0 | Varios | 3 | 31-10-2006 22:56:26 |
referencia circular | melon | OOP | 1 | 16-04-2006 02:13:00 |
variables por referencia | shaktale | Varios | 2 | 11-06-2003 12:24:59 |
|