Excepcion al comparar una clase en un if
Hola se genera una excepcion en la siguiente rutina:
Código:
procedure CerrarDatasets(ADM: TDataModule); Asi q obviamente existe un error pero no lo ubico, espero ustedes lo puedan ver. Salu2. |
Sería interesante que nos contaras qué tipo de excepción se genera.
Mientras tanto te comento que siendo TTable y TQuery descendientes de TDataSet y dado que el método Close (así como Open) está definido desde este ancestro común, puedes simplificar tu rutina:
Nota además que el uso del operador as es innecesario ya que este operador básicamente es una combinación del operador is con el moldeo de tipos normal, y dado que previamente usas is estarías haciendo una doble verificación. // Saludos |
La excepcion es como "Invalid ClassType" (no tengo la excepcion aqui) pero es de EInvalidClassType.
Salu2. |
Cita:
Por otor lado... ¿En qué línea te da el error? Cita:
|
Cita:
// Saludos |
Solo una duda, no causara problemas con otros componentes q tambien sean descendientes de TDataSet??. De hecho ya habia pensado de esa manera (usar TDataset como clase a compara), sin embargo como no tengo mucha experiencia al respecto decidi copiar el metodo del Moderador Loco Juan Antonio pues él en otro hilo me habia propuesto dicha rutina.
|
Eso lo tienes que evaluar vos... si querés cerrar todos los datasets, el código de roman, si quieres solamente cerrar los TTable y TQuery´s y sus descendientes, tu código.
|
Cita:
:D |
Cita:
|
La franja horaria es GMT +2. Ahora son las 01:03:57. |
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