![]() |
instruccion WITH...
Colegas del grupo tengo un problema un tanto tonto que no se come
resolver... Me explico: with Tablas.tbVisVen do try Disablecontrols; ... ... finally EnableControls; end; Todos conocemos esta intruccion, bien mi problema es el siguiente, a mi me gustartia hacer esto: Case seleccion of 0: tabla:=Tablas.tbVisVen; 1: tabla:=Tablas.tbVisAve; 2: tabla:=Tablas.tbVisRev; end; with tabla do try Disablecontrols; ... ... finally EnableControls; end; Explico Tablas es un DataModule y tbVisVen son TDataSets. Mi pregunta es si lo puesto en el codigo se puede hacer, como debo declarar la variable "tabla" y si no fuera asi, creo que este pequño codigo es claro, como podria hacer algo parecido? El tema esta que lo que va entre las sentencias WITH..Try..end se debe repetir lo mismo solo que cambia la tabla de la base de datos... Espero haber sido claro, y desde ya muchas gracias PD: Quiero aclarar que intente declarar la variable Tabla como TDataSet y TpFIBDataSet (Ya que es el componente DataSet que utilizo) Pero nada no funciona |
Y por qué no lo haces así:
Un saludo |
No habia pensado en eso, lo probe y lamentablemente no funciona, ya que me da error..., los componente DataSet que utilizo son los FibPlus, asi que probe:
procedure Procesar(Tabla: TDataset); begin with Tabla do begin Disablecontrols; try ... ... finally EnableControls; end; end; end; Y luego: procedure Procesar(Tabla: TpFIBDataset); begin with Tabla do begin Disablecontrols; try ... ... finally EnableControls; end; end; end;Y nada, el tema esta que si fuera un DataSet comun funcionaria, pero aqui me da eror dentro del With cuando intento leer la propiedad SelectSQL del componente, no si tengo que agregar algunas unit en el Form, para que me lo coja, pero nada no logre hacerlo funcionar, hice una prueba con un Dataset Comun y corriente en otro Programa y si me funciona pero aqui utilizando esot compnentes no... en fin debere hacer un procedure por cada tabala |
Me respondo a mi mismo :D
Bien lo he solucionado de la manera que me habias dicho Thales, respondiendo al mensaje anterior, me di cuenta que seguro me faltaba poner una unit en el USEs, y efectivamente eso era, puse una de las unit del FibPlus y salio funcionando como dios manda :) Gracias!!! |
|
La franja horaria es GMT +2. Ahora son las 09:56:31. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi