Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Alguna novedad en MDOLib? (https://www.clubdelphi.com/foros/showthread.php?t=42298)

vtdeleon 11-04-2007 05:11:30

Alguna novedad en MDOLib?
 
Y en qué ha quedado el proyecto MDOLIB?

Pues tienen desde febrero del año pasado que no actualizan, ni dan novedad alguna sobre los componentes. Esto me hace pensar en otros proyectos de pago como FIBPLUS que continuamente están trabajando y actualizando los componentes.

Casimiro Noteví 11-04-2007 10:15:24

Pues sí, es lo que ocurre con estas cosas, hicieron una versión que funciona (y muy bien), pero ya no lo han tocado más.

Lepe 11-04-2007 10:35:30

A ver quien se pone las pilas y hereda de MDODataset este pequeño engendro, jejeje.

En tiempo de diseño, tenemos que seleccionar un MDODataset, establecer el SELECTSQL, a continuación con el botón derecho usamos "Dataset Editor" para generar sus Sqls.... pues esto mismo lo he trasladado a tiempo de ejecución. (Curiosamente es una de las "características solicitadas" en el foro de MDO).

modo de uso actualmente y que no me gusta:
Código Delphi [-]
var Auto:TMDOAutoDataset; // hereda de TObject :(
begin
  auto := TMDOAutoDataset.Create;
  auto.TableName:= 'Cliente';
  auto.SELECTSQL := ' select * from cliente where idcliente = :idcliente';
  auto.KeyFields.Add('IDCLIENTE');
  auto.TheMDODataset:= mdoDataset1;// mdoDataset al que se quiere modificar sus sqls.
  auto.GenerateSql; 
  // el "Auto" modifica las sqls del TheMDODataset asociado.
// Esto es lo que habría que evitar haciendo que el TMDOAutoDataset heredase de TMDODataset directamente.


  auto.Free;
  // el mdoDataset1 ya tiene modificas todas sus sqls,
  // liberamos este objeto.
END;

Obviamente el código más interesante ha sido extraído de MDOSOURCE\DESIGN\mdoUpdateSQLEditor.pas

Saludos

Casimiro Noteví 11-04-2007 20:18:18

Gracias, esta es una de las grandes ventajas del software libre :)
¿Lo has enviado a los creadores del proyecto para que lo incluyan si lo estiman oportuno?

Lepe 12-04-2007 17:01:36

Si heredase de TMDOCustomDataset si lo enviaría a los creadores, pero tal y como está me da vergüenza jijij :o.

Si estudias a fondo las unidades MDOUpdateSQLeditor.pas y MDODBReg.pas verás el por qué:

- Para averiguar las claves primarias de ese MDODataset, se crea un objeto TTable y se mira sus propiedades; en tiempo de diseño, esto es insignificante, en eficiencia y tiempo malgastado, porque realmente es tiempo de diseño, jamás se volverá a repetir. Sin embargo en tiempo de ejecución, es muy ineficiente.

- Mi tipo de dato TSQLKind no se corresponde en nada con los que usa MDO y TDataset, esto es lo de menos, se puede salvar fácilmente.

- TMDODataset implementa alguna que otra propiedad sobre TMDOCustomDataSet, habría que duplicar código. Lo correcto sería que TMDODataset solo publicara las propiedades de su antecesor. Los creadores de MDO tendrían que modificar la estructura de clases... yo no soy nadie ;).

Saludos

brakaman 13-04-2007 22:55:05

Cita:

Empezado por Lepe
Si heredase de TMDOCustomDataset si lo enviaría a los creadores, pero tal y como está me da vergüenza jijij :o.

TMDODataset solo publicara las propiedades de su antecesor. Los creadores de MDO tendrían que modificar la estructura de clases... yo no soy nadie ;).

Saludos

Hola Gracias Lepe por tu trabajo, lo voy a probar mañana sabado.

En cuanto a lo que preguntais que el proyecto esta parado, no es asi, la lista en ingles no esta activa (No se publican mensajes), pero la lista en portugues es muy activa, y van a publicar pronto una nueva version.

Mirad esto.

http://br.groups.yahoo.com/group/mdo-support/message/34

Es una respuesta del administrador del proyecto

En la lista en portugues me han dicho que no les importa que publiquemos en Castellano, (Se entiende al 90%, al portugues me refiero :) )

Saludos.

Casimiro Noteví 13-04-2007 23:02:40

Me alegra la noticia :)

vtdeleon 14-04-2007 00:06:33

Ah que bién.:)


La franja horaria es GMT +2. Ahora son las 20:01:31.

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