Aplicación bajo windows 98

Hola, he programado con borland c++ builder 6.0 una aplicación que contiene una base de datos desde mi ordenador que usa windows xp y al querer usarla en otro ordenador que usa windows 98 no me funciona, de hecho cuando hago doble click en el icono para que se inicie el programa, no sucede nada. ¿Qué puedo hacer para que funcione?
Respuesta
1
Me parece que el problema esta en que win xp, 2000 y nt usan otro kernel y otras APIs, a las de win 98, ME, ademas tienes el punto de los 32bits nativos de los primeros contra los 32 bits de win98 los cuales no son tan nativos como microsoft dice, la solución puede ser cambiar las opciones de compilación o bien la menos elegante, compilar el programa en la maquina con win98
Me decanto por la primera opción de momento. ¿Qué opciones de compilación debería cambiar?
Quizás el otro ordenador al no tener w98 plus tiene alguna Dll antigua por lo que tu programa no corre, ademas al iniciarlo proba apretando CTRL+ALT+SUP y fíjate si no esta en la lista de programas, lo cual terminaría de confirmar que es un problema del sist op
He probado de instalar el programa en otro ordenador con windows 98 plus! Y allí sí que me funciona bien. ¿Qué es lo que puede suceder en el otro ordenador?
Me he fijado, y ahora cuando ejecuto el programa me sale un mensaje diciendo que "index is out of date". O sea que el índice de la base de datos es incorrecto, ¿no? ¿Qué tengo que hacer para corregir esto?
Abri el database desktop y proba reparar o crear nuevamente los indices, desde el menu options o tools no recuerdo bien. Si es una tabla Paradox es muy probable que puedas hacerlo
Tienes razón, perdón por mi torpeza, fíjate en el archivo idapicfg o con un nombre parecido, es el que te pide actualizar cuando creas un nuevo alias, renombra el actual y cópialo desde uno de los ordenadores en que si funciona tu programa

1 respuesta más de otro experto

Respuesta
1
- ¿La copia de todas las librerías dinámicas que utilizas se ha hecho?
- Si tu programa usa odbc: ¿Esta correctamente instalado?
- Verifica en tu código todos los lugares que puede tener problemas para que avise y salga informando el error.
Por lo demás, sin ver el código no puedo decirte donde esta el problema.
He usado el Installshield Express que viene con el Borland para hacer el instalador, y creo que he puesto todos los archivos que tenía que poner. De hecho, en ordenadores con windows xp sí que me funciona. Durante la instalación en el ordenador con Windows 98 me salían algunos errores, pero no recuerdo cuales (no tengo el ordenador en cuestión a mano).
Para programar la aplicación lo único que uso es una base de datos de tipo paradox, construida con el Database Desktop. También uso un par de DBGrid y otros controles usuales.
Seria importante repasar que errores se reportaban durante la instalacioin en win98.
Y te reitero, te convendría repasar el código y en todos los lugares donde se crean los componentes (dbgrid y otros) chequear que se haga debidamente). Es muy importante que la aplicación reporte todos los problemas hasta los más obvios.
Ok, repasaré los errores que salen en la instalación, e intentaré chequear el código. Pero tiene que ser algo que funcione con windows xp y con windows 98 no, ¿no?
Es probable, por ejemplo, que el dbgrid sea una version anterior a la que tiene en win98; o algo por el estilo. Pero es fundamental la verificación por paso.
Si el error es del driver de paradox, habría que ver la ocumentacion de eso especifica. Yo no puedo ayudarte, desconozco del tema, sí podría hacerlos en el caso de MS-SQL, mySQL, Btrieve, dBase, . pero lamentablemente Paradox no lo he utilizado.
Ok, entonces esto que dices, o algo parecido, ¿tendría qué ponerlo en el código del programa? Al iniciarse el programa, supongo..
Al ejecutar el programa me sale un error que dice que "index is out of date" y da el path de mi base de datos. ¿Qué tengo que hacer para corregir esto?
Exactamente, sobre todo ver en la documentación de paradox
El porque el mensaje :
"index is out of date" .
Segun lo que pude ver los pasos serian:
- Cerrar las tablas.
- Setear el modo exclusivo
- Abrir la tabla
- Y llamar a 'DbiRegenIndexes'
En código parece ser que debes escribir:
Table1.Close;
Table1.Exclusive := True;
Table1.Open;
DbiRegenIndexes(Table1.Handle);
O algo así, ya te digo, no conozco bien el tema de paradox.
Ok, entonces lo que tendría que hacer es mirarme la documentación específica para Paradox, y mirar a ver si pone algo que me solucione mis problemas, ¿no? Bueno, y si no siempre puedo acabar por instalar el C++ Builder en el ordenador con windows 98 y compilar allí, ¿no?
Lo tienes que poner pero solo llamarlo cuando te da el error
"index is out of date"
Creo que no, es suficiente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas