 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Cerúleo Master


Registrado: 04 Ago 2003Mensajes: 332Ubicación: Santander, España
|
Publicado: Mar 11 Jul, 2006 4:27 pm Asunto: Problema con Word al migrar de CB++ 4 a 6 |
|
|
Hola. Al compilar un proyecto hecho en C++Builder 4 con C++Builder 6 me da una serie de problemas... Al cambiar los archivos de cabecera "#include <comobj.hpp" y algún otro me acaba compilando, pero me da error en la ejecución. ¿Alguna ayuda? Pongo el código de abrir Word (lo primero de todo, donde ya me da el error).
Archivo h:
| Código: | class OJPOWord{
public:
bool Visible;
Variant vWord, //* MSWord (TWord)
vDocs, //* Documentos (TCollection)
vDoc, //* Documento (TDocument)
vBMarks, //* Libros marcas (TCollection)
vBMark, //* Libro marcas (TBookMark)
vRange, //* Rango
vInLineShapes, //* Formas en línea (TCollection)
vInLineShape, //* Forma en línea (TInLineShape)
vShapes, //* Formas (TCollection)
vShape, //* Forma (TShape)
vStyles, //* Estilos (TCollection)
vFont, //* Fuente (TFont)
vParFormat, //* Formato de párrafo
vTables, //* Tablas (TCollection)
vTable; //* Tabla (TTable)
OJPOWord();
~OJPOWord();
unsigned int Abrir();
unsigned int Conectar();
unsigned int Cerrar();
unsigned int CrearDoc();
unsigned int CrearDoc(char *);
unsigned int AbrirDoc(char *);
unsigned int AbrirDoc(char *,bool);
unsigned int AbrirDoc(char *,char *);
unsigned int GuardarDoc();
unsigned int GuardarComoDoc(char *);
unsigned int CerrarDoc();
unsigned int CerrarDoc(char *);
unsigned int CerrarDoc(bool);
unsigned int CerrarDoc(bool,char *);
unsigned int ObtenerMarcas(); //*
unsigned int ActivarEstilo(char *);
unsigned int InsertarSalto(eTipoSalto);
unsigned int InsertarTabulador(double,eAlinTabul);
unsigned int EliminarTabulador(double); //*
unsigned int TextoPosSupInd(bool);
unsigned int TextoPosSubInd(bool);
unsigned int TextoPosNormal();
unsigned int InsertarTexto();
unsigned int InsertarTexto(char *);
unsigned int InsertarTextoSup(char *);
unsigned int InsertarTextoSub(char *);
unsigned int InsertarImagen(char *,bool Vincular=false,bool Guardar=true);
unsigned int InsertarImagen(char *,int X,int Y,
bool Vinvular=false,bool Guardar=true);
unsigned int InsertarImagen(char *,int X,int Y,int Ancho,int Alto,
bool Vincular=false,bool Guardar=true);
unsigned int InsertarImagen(char *,int X,int Y,int Ancho,int Alto,int Pagina,
bool Vincular=false,bool Guardar=true);
unsigned int InsertarImagenEnLinea(char *);
unsigned int InsertarTabla(int,int);
unsigned int InsertarTablaTexto(int,int);
};
//-----------------------------------------------------------------------------------
#endif |
Archivo cpp:
| Código: | #include "OJPOWord.h"
#include <utilcls.h>
#include <vcl.h>
#pragma hdrstop
//-----------------------------------------------------------------------------------
//************* CONSTRUCTOR DE OJPOWORD **************
//-----------------------------------------------------------------------------------
OJPOWord::OJPOWord(){
···
}
//-----------------------------------------------------------------------------------
//************** DESTRUCTOR DE OJPOWORD **************
//-----------------------------------------------------------------------------------
OJPOWord::~OJPOWord(){
···
}
//-----------------------------------------------------------------------------------
//******************* ABRIR MSWORD *******************
//-----------------------------------------------------------------------------------
unsigned int OJPOWord::Abrir(){
try{
//******************* Abro MSWord ********************
vWord=Variant::CreateObject("Word.Application");
//************ Hago visible la aplicación ************
vWord.OlePropertySet("Visible",Visible);
return 1;
}
catch(...){
return 0;
}
}
//-----------------------------------------------------------------------------------
//*************** CONECTAR CON MSWORD ****************
//-----------------------------------------------------------------------------------
unsigned int OJPOWord::Conectar(){
try{
try{
//*** Conecto con la instancia existente de MSWord ***
vWord=Variant::GetActiveObject("Word.Application");
}
catch(...){
//******************* Abro MSWord ********************
vWord=Variant::CreateObject("Word.Application");
}
//************ Hago visible la aplicación ************
vWord.OlePropertySet("Visible",Visible);
return 1;
}
catch(...){
return 0;
}
}
··· |
Y el error que me lanza al abrir word es:
| Cita: | | Project PWord01.exe raised exception class EOleSysErrar with message 'Operación no disponible'. Process stopped. Use Step or Run to continue. |
Espero una mano amiga.
Un saludo. _________________ Nunca digas "Es imposible" sin intentarlo antes. |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mie 12 Jul, 2006 1:15 am Asunto: |
|
|
Verifica que las cabeceras que usaste en la instalacion de BCB6, sean compatibles con las cabeceras de Office del BCB4, por citar
las cabeceras que instala el BDS2006 son Office 2000 y Office xp,
si eliges las de Office XP, muchos componentes de la paleta de Office 2000 desaparecen... cuando emigras apliaciones con cabeceras de Office 2000 sencillamente no funciona.
saludos. _________________
 |
|
| Volver arriba |
|
 |
Cerúleo Master


Registrado: 04 Ago 2003Mensajes: 332Ubicación: Santander, España
|
Publicado: Mie 12 Jul, 2006 11:37 am Asunto: |
|
|
Hola César.
Yo me conecto a Word "a pelo", sin usar la paleta de componentes de Office. Luego aquí no puede estar el problema (creo).
Un saludo. _________________ Nunca digas "Es imposible" sin intentarlo antes. |
|
| Volver arriba |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|