| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Cerúleo Master


Registrado: 04 Ago 2003Mensajes: 332Ubicación: Santander, España
|
Publicado: Jue 22 Abr, 2010 8:00 am Asunto: Error en archivo msxml.h |
|
|
Hola. He reanudado la programación (después de un parón de 3 años) y he intentado compilar mi programa hecho en CppBuilder 4 y W98 con CppBuilder 6 y WVista. Me aparece en el archivo msxml.h el siguiente error:
| Cita: | [C++ Error] msxml.h(1883): E2293 ) expected
[C++ Error] msxml.h(2675): E2108 Improper use of typedef 'IXMLDOMDocument'
[C++ Error] msxml.h(2675): E2451 Undefined symbol 'This'
[C++ Error] msxml.h(2675): E2293 ) expected |
Además me aparecen en otras unidades las siguientes advertencias:
| Cita: | (...)
[C++] UVGlobales.cpp(1):
[C++ Warning] _prolog.h(47): W8059 Structure packing size has changed
[C++ Warning] _prolog.h(19): W8059 Structure packing size has changed
[C++ Warning] _epilog.h(32): W8059 Structure packing size has changed
[C++ Warning] _epilog.h(3 : W8059 Structure packing size has changed
[C++ Warning] _prolog.h(47): W8059 Structure packing size has changed
[C++ Warning] _prolog.h(19): W8059 Structure packing size has changed
[C++ Warning] _epilog.h(32): W8059 Structure packing size has changed
[C++ Warning] _epilog.h(3 : W8059 Structure packing size has changed
[C++] Punto.cpp(1):
[C++ Warning] _prolog.h(47): W8059 Structure packing size has changed
[C++ Warning] _prolog.h(19): W8059 Structure packing size has changed
[C++ Warning] _epilog.h(32): W8059 Structure packing size has changed
[C++ Warning] _epilog.h(3 : W8059 Structure packing size has changed
[C++] ODXF.cpp(1):
[C++ Warning] _prolog.h(47): W8059 Structure packing size has changed
[C++ Warning] _prolog.h(19): W8059 Structure packing size has changed
[C++ Warning] _epilog.h(32): W8059 Structure packing size has changed
[C++ Warning] _epilog.h(3 : W8059 Structure packing size has changed
[C++ Warning] _prolog.h(47): W8059 Structure packing size has changed
[C++ Warning] _prolog.h(19): W8059 Structure packing size has changed
[C++ Warning] _epilog.h(32): W8059 Structure packing size has changed
[C++ Warning] _epilog.h(3 : W8059 Structure packing size has changed
(...) |
Éstas no me salían en la versión 4. ¿Alquien sabe qué puede estar pasando? ¿Puede ser alguna opción al compilar el Proyecto? Yo no sé por qué se llama a estos archivos de cabecera ni con qué paquetes estás asociados. Agradecería cualquier ayuda porque ahora mismo no puedo hacer nada. _________________ Nunca digas "Es imposible" sin intentarlo antes. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Jue 22 Abr, 2010 8:37 am Asunto: |
|
|
En cuanto a "msxml.h", la has probado en un proyecto nuevo vacío para ver si también te falla ? que otras cabeceras tienes en el mismo modulo y en que orden ?
Y en cuanto al segundo problema, en el siguiente enlace tienes un parte en el cual se habla del problema y como solucionarlo:
http://qc.embarcadero.com/wc/qcmain.aspx?d=5896
También puedes probar otra opción a ver si te funciona, y es marcar la siguiente opción:
MENU: Project -> Options... -> PESTAÑA: "Advanced compiler" -> RADIOBUTTON: "Quad word" |
|
| Volver arriba |
|
 |
Cerúleo Master


Registrado: 04 Ago 2003Mensajes: 332Ubicación: Santander, España
|
Publicado: Jue 22 Abr, 2010 10:00 am Asunto: |
|
|
Hola. Como siempre, _Leo uno de los primeros en contestar. Gracias de antemano.
Respecto a los avisos, he encontrado esta página después de hacer la consulta:
| Código: | http://www.decompile.com/cpp/faq/W8059_Structure_Packing_Size.htm |
Y respecto a "msxml.h" no lo he probado en ningún proyecto vacío, pero es que no lo llamo, al menos explícitamente, desde ningún módulo del programa. Me he fijado y salta el error al compilar el módulo "OModel01.cpp". Este tiene como archivos de cabecera los siguientes:
| Código: |
#include "OModelo.h"
#include "ODXF.h"
#include "OVarEstado.h"
#include <stdlib>
#include <string>
|
Los tres primeros son de programación propia. Pongo a su vez los includes de cada uno (hay mucho anidamiento, lo sé).
"OModelo.h"
| Código: | #include "Puzzela.kts"
#include "Punto.h"
#include "OSeccion.h"
#include "OCarMeca.h"
#include "Material.h"
#include "ODatosQ.h"
#ifdef ModeloH
#include "ODXF.h"
#endif
#include "OAcero.h"
#include "OOpcList.h"
#include "OFormNum.h"
#include "OBiela2d.h"
#include "OBiela3d.h"
#include "OBarra2d.h"
#include "OBarra3d.h"
#include "OHypBa2d.h"
#include "OHypBa3d.h"
#include "OCuaco2d.h"
#include "OSerend8.h"
#include "OTen0808.h"
#include "OTrico2d.h"
#include "OSerend6.h"
#include "OTen0606.h"
#include "OCubdc08.h"
#include "OCub0808.h"
#include "OCubdl20.h"
#include "OCub2020.h"
#include "OCubdp32.h"
#include "OCub3232.h"
#include "OTetdc04.h"
#include "OTetdl10.h"
#include "OTet1010.h"
#include "OMembra6.h"
#include "OMembra8.h"
#include "OPlaca06.h"
#include "OPlaca08.h"
#include "OLamina6.h"
#include "OLamina8.h"
#include "OAxisim2.h"
#include "OLampleg.h"
#include "IdenElem.h"
#include "OCimenta.h"
#include "OQCombin.h"
#include "OPlacAnc.h"
#include "OTabPred.h"
#include "OHPreten.h"
#include "OLinInfl.h"
#include "NCSE2002.h"
#include "OQNudo.h"
#include "OJPOWord.h"
#include "OPlanosPT.h"
#include "OFichFor.h"
#include "OForjado.h"
#include "OMiLista.h"
|
"ODXF.h"
| Código: |
#include <io>
#include <iostream>
#include <fstream>
#include <ctype>
#include <string>
#include "JaviStrg.h"
#include "JaviMath.h"
#include "OMiLista.h"
#ifdef NombreEntidadesDXF
#include "ODXFEntid.h"
#endif
|
"OVarEstado.h"
| Código: | #include "Punto.h"
#include "Perspectivas.h"
#include "Graphics.hpp"
#include "EnumClAp.h"
#include "OUnidades.h"
|
Todos los includes son de programación propia y por el tipo de programa no hacen uso de funciones de la VCL. Se trata de un programa de cálculo de estructuras y quitando la parte gráfica lo demás son punteros, matrices y fórmulas matemáticas. Lo más "avanzado" que hace es el manejo de objetos COM, para generar archivos en Word y Excel.
En algún sitio he leido que a lo mejor se puede probar partiendo de un proyecto en blanco, con las opciones por defecto del BCB6, y copiando el código de los archivos (lo que pasa es que son un montón.... buff).
Espero no haber metido mucho rollo. _________________ Nunca digas "Es imposible" sin intentarlo antes. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Jue 22 Abr, 2010 2:29 pm Asunto: |
|
|
| Cerúleo escribió: | | Lo más "avanzado" que hace es el manejo de objetos COM, para generar archivos en Word y Excel. |
En las cabeceras que muestras no se llama a esta cabecera. Lo mas probable es que sea en las que están relacionadas con los objetos COM.
Creo que la versión 4 no trae los componentes para Office, así que has tenido que importar los objetos, en caso de que estés usando enlace anticipado (early binding). Si es así, estas usando los fuentes que te genero la importación en el BCB4 ? o has vuelto a hacer una nueva importación en la versión 6 ? O estas usando enlace en tiempo de ejecución (late binding) usando "CreateOleObject" ?
Has probado a incluir esta cabecera en algún proyecto vacio a ver si falla (por si acaso este corrupto) ?
Si no es algo de esto, así a ciegas es imposible dar con el problema.. |
|
| Volver arriba |
|
 |
Cerúleo Master


Registrado: 04 Ago 2003Mensajes: 332Ubicación: Santander, España
|
Publicado: Jue 22 Abr, 2010 4:00 pm Asunto: |
|
|
Hola _Leo.
He localizado el archivo de cabecera de mi objeto Word que creé para funciones específicas asociadas al manejo de archivos de Word.
El encabezado del archivo OJPOWord.h es éste:
| Código: | #ifndef OJPOWordH
#define OJPOWordH
#include <system> | Y luego en el archivo OJPOWord.cpp hay esto:
| Código: | #include "OJPOWord.h"
#include <ComObj>
#include <Utilcls> (sólo en BCB4)
#include <vcl>
#pragma hdrstop
| Ahí he visto el texto "(sólo en BCB4)". Todo esto lo aprendí del foro y principalmente de ti. O sea que lo he copiado de alguno de vosotros. ¿Puede estar ahí el problema? Quizás la unidad "Utilcls.h" ha variado en BCB6. Espero que esto sea una buena pista. _________________ Nunca digas "Es imposible" sin intentarlo antes. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Jue 22 Abr, 2010 5:30 pm Asunto: |
|
|
| No, estas cabeceras tampoco deberían dar problemas.. |
|
| Volver arriba |
|
 |
|