Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Error en archivo msxml.h

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Error en archivo msxml.h Responder citando

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(3Cool: 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(3Cool: 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(3Cool: 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(3Cool: 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(3Cool: 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
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

No, estas cabeceras tampoco deberían dar problemas..
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.