FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
XE7 crash address con TClientDataset arreglado!
Buenas...
Quería comentaros un error que me ha llevado unos días de cabeza, pero que finalmente he resuelto... Tengo un aplicacion de escritorio de 32 bits en XE... funciona perfectamente, 3000 instalaciones y sin fallos, en XP, en W7, en W8, en W8.1 y W10 (hasta en ubtuntu con el wine !!) Hago la migración a XE7, sin ningún problema...(sólo utilizo un componente no propio de delphi, pero como tengo el fuente, lo recompilo con el XE7) y todo funciona perfectamente... Bueno, todo hasta que lo pruebo en un Windows 8... que me sale un "crash address"... Busco la línea, y es al crear el datamodule, que he puesto unos TClientDataset para guardar datos en tiempo de ejecución, y al hacer el CretateDataset explota... Cosa que la misma app compilada con XE7 en Windows 7 y XP funciona perfectamente... Rebuscando he encontrado que hay el problema está en la librería Midas.dll. Resulta que es una version antigua, pero que delphi incorpora esas funciones en una librería propia... simplemente hay que añadir MidasLib a la cláusula uses
Ale, compartido queda... |
#2
|
||||
|
||||
OK.
Gracias por la información.
__________________
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. |
#3
|
||||
|
||||
Que yo sepa, "de toda la vida", hay que añadir midaslib al uses.
|
#4
|
||||
|
||||
Por lo que yo tengo entendido no es obligatorio, es más, puedes compilar un proyecto que use TClientDatset sin necesidad de añadirla.
La diferencia entre ambos casos, es que deba estar registrado como servidor COM (con regsevr32) o no en el sistema. Creo que aquí está explicado un poco mejor.
__________________
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. |
#5
|
||||
|
||||
Cita:
|
#6
|
|||
|
|||
Cita:
Pero ahora al detectar el error, lo he mirado y he visto que se puede hacer así... |
#7
|
||||
|
||||
Coincido con Casimiro, yo siempre meti la MidasLib en los proyectos. Tarde o temprano te evitas dolores de cabeza, tu aplicacion siempre va a funcionar bien si tiene la Midas que necesita
|
#8
|
|||
|
|||
Ya, eso ahora ya lo sé...
Y eso que estoy desde Borland Delphi for Windows.... |
#9
|
||||
|
||||
Yo prefiero usar la biblioteca de enlace dinámico MIDAS.DLL, dado que ocasionalmente hay que regresar a una versión anterior debido a algún defecto del MIDASLib de tiempo de compilación. En otras palabras, tengo más control sobre qué MIDAS usar cuando opto por la DLL.
Desaconsejo agregar a la cláusula Uses la biblioteca MIDASLib, porque el ejecutable queda limitado a una única versión de la API sobre la cual trabaja el estupendo componente TClientDataSet. Saludos. Al González. |
#10
|
||||
|
||||
Todos los días se aprende algo
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ventana de error: Access violation at address 00CA1C10. Read of address 00CA1C10 | HERYCK | Varios | 3 | 06-10-2012 07:35:57 |
Crash en programa, o Bucle Infinito? | martini002 | Varios | 11 | 08-06-2012 19:31:50 |
Server Crash en Nevrona | mlara | Noticias | 5 | 21-02-2012 13:51:24 |
Access violation at address 7C92B1FA in module 'ntdll.dll'. Write of address 00000010 | genyus00 | Varios | 1 | 12-02-2011 09:41:20 |
Interbase server crash! | fredycc | Firebird e Interbase | 4 | 08-01-2009 15:22:31 |
|