Para instalar MultiBase en MS-DOS introduzca el disco 1 en la unidad correspondiente. Suponiendo que se trate de la unidad «A:», ejecute el comando:
> A:INSTALA
En el caso de que su monitor NO SEA EN COLOR, ejecute:
> A:INSTALA -MONO
Este comando le permitirá cargar el MultiBase completo y también, si así lo desea, la aplicación de demostración. Asimismo, le permitirá ajustar los colores de los distintos elementos del MultiBase para su monitor y elegir la impresora a utilizar. Si no se elige la opción «seleccionar colores» asumirá por defecto monocromo.
El comando INSTALA modificará sus ficheros AUTOEXEC.BAT y CONFIG.SYS. Una vez terminada la instalación deberá comprobar que en estos ficheros existen las líneas que se indican más adelante, además d las que Vd. ya tuviera.
El manejo de este instalador es muy sencillo, debiendo utilizar tan sólo las teclas <Flecha Arriba>, <Flecha Abajo>, <Flecha Derecha> y <Flecha Izquierda> para moverse, <Enter> para aprobar y <ESC> ara volver al punto anterior.
En el caso de modificar los colores desde la persiana de accesorios de una aplicación del MultiBase, deberá tener en cuenta que estos colores no tomarán efecto hasta que no vuelva a entrar en una aplicación.
| DBTEMP=C:\TMP | |
| TRANSDIR=C:\CTL | O el directorio que haya elegido para la instalación de MultiBase. |
| PATH=C:\CTL\BIN | Es decir, en el PATH deberá estar incluido el subdirectorio BIN del directorio en el que haya instalado el MultiBase (TRANSDIR). |
| TERM=PC | |
| ECHO Borrando ficheros temporales de MultiBase... | |
| trm C:\TMP\*.* | |
FILES=60
BUFFERS=60
DEVICE=C:\DOS\ANSI.SYS |
DEVICE=C:\DOS\HIMEM.SYS /NUMHANDLES=127 (o su path completo)
SHELL=C:\DOS\COMMAND.COM /p /e:4096 |
Compruebe que el instalador ha creado el directorio «C:\TMP», si es que éste no existía previamente.
Dada la ocupación de memoria de MultiBase, es recomendable no instalar otros dispositivos más que los que el producto necesite, de esta forma dejará libre la mayor cantidad posible de memoria para la ejecución del producto.
Una vez finalizada la instalación deberá arrancar su equipo de nuevo con el fin de que todos los cambios efectuados tomen efecto.
Si desea información de cómo arrancar el entorno de desarrollo de MultiBase o una aplicación con él desarrollada, consulte los manuales que se entregan con su copia del producto.
Con la versión de Desarrollo del producto se proporciona una pequeña aplicación de demostración. Esta aplicación podrá instalarla igualmente por medio del comando TINSTALL. Todos los ficheros serán instalados en el directorio «C:\MBDEMO». Si desea trabajar con dicha aplicación deberá ejecutar las siguientes instrucciones:
> CD \MBDEMO
> CTL ALMACEN
Además, si desea utilizar el entorno de desarrollo con la aplicación de demostración, deberá ejecutar:
> CD \MBDEMO
> TRANS ALMACEN
Para poder ejecutar correctamente la versión Run-Time de MultiBase/DOS necesitará una máquina con las siguientes características mínimas:
Para la ejecución correcta de la versión de Desarrollo de MultiBase/DOS necesitará una máquina con las siguientes características mínimas:
MultiBase/DOS utiliza en su ejecución un DOS-Extender que le permite ejecutar código en memoria extendida. Se trata en concreto del PharLap 286/DOS-Extender, que pondrá su 286, 386 ó 486 en modo protegido en el momento de su ejecución. Esto hace que el tiempo de arranque de las aplicaciones sea algo superior al de una aplicación en modo real; sin embargo, una vez finalizado dicho arranque, los tiempos de ejecución son muy satisfactorios y el manejo de la memoria mucho más eficaz que en el caso de aplicaciones que ejecutan en modo real.
Por otro lado, este Extender le permitirá lanzar aplicaciones en modo real o protegido. Por tanto, desde una aplicación escrita en MultiBase podrá lanzar cualquier comando del sistema operativo o cualquier otra aplicación. El único requerimiento es disponer de memoria suficiente para ejecutar dicha aplicación.
El 286/DOS-Extender de PharLap cumple con todos los estándares de memoria extendida en MS-DOS, cosa que no hacen algunos dispositivos del mercado. Por ejemplo, el dispositivo HIMEM.SYS utilizado para la carga del Extender, y que deberá estar incluido en su CONFIG.SYS, deberá cumplir especificaciones VCPI, cosa que no hacen algunos HIMEM.SYS disponibles en el mercado. Sí lo hacen los incluidos en el Windows 3.0 y en el MS-DOS versión 5.0 y superiores.
Si desea ejecutar MultiBase desde Windows 3.0 deberá instalar previamente el dispositivo de emulación de coma flotante, de nombre PHARLAP.386. Para ello, deberá copiar este dispositivo, que se encuentra en el subdirectorio BIN del directorio en el que haya instalado MultiBase, al directorio donde tenga instalado el Windows 3.0. A continuación, deberá añadir a la sección [386enh] del fichero SYS EM.INI del Windows 3.0 la siguiente línea:
DEVICE=PHARLAP.386
Una vez hecho esto, arranque de nuevo Windows 3.0.
Tanto si está utilizando la versión de Desarrollo como la de Run-Time de MultiBase, si dispone de memoria suficiente es recomendable el uso del dispositivo SMARTDRIVE, por medio del cual se mejorará el acceso a su disco fijo y por tanto la velocidad de ejecución de su aplicación.
Asimismo, y en el caso concreto de la versión de Desarrollo, es recomendable la utilización de un RAM DISK para incluir en él los siguientes comandos de MultiBase: CTL, CTLCOMP, CTLINK y TWORD. En caso de hacerlo, recuerde añadir al comienzo de su variable de entorno PATH el disco RAM en el que haya copiado estos comandos.
Esto es debido a que, como hemos dicho anteriormente, los tiempos de carga de comandos de gran tamaño en MS-DOS con el Extender son considerablemente más lentos que en el caso del sistema operativo UNIX; ello se debe a que el Extender consume mucho tiempo en poner la máquina en modo protegido. En la versión de Desarrollo del MultiBase usted estará ejecutando una aplicación que con mucha frecuen ia «llamará» a otras aplicaciones o comandos, por ejemplo, cada vez que desee compilar un programa se llamará al comando CTLCOMP, cada vez que vaya a editar un programa se llamará al TWORD, cada vez que desee probar un programa o módulo se llamará al comando CTLINK y al comando CTL, etc.
Por ello, si utiliza un RAM DISK como el proporcionado por el dispositivo RAMDRIVE, mejorará algo los tiempos de carga de los comandos que se encuentren en dicho disco RAM.
En su versión de MS-DOS, MultiBase presenta ciertas diferencias respecto a la versión de UNIX. Éstas son muy pocas, y se deben fundamentalmente a las diferencias inherentes entre ambos sistemas operativos. A continuación pasamos a explicarlas.
Desde una aplicación realizada con el lenguaje de cuarta generación de MultiBase (CTL) es posible lanzar cualquier comando del sistema operativo por medio de la instrucción RUN disponible en el lenguaje. Existen sin embargo algunos comandos que no es necesario lanzar por medio de dicha instrucción, éstos son: CP, MV, RM, MKDIR y TEST, cuyos nombres están incluidos en la gramática del CTL.
En el caso del sistema operativo UNIX, la ejecución de cualquiera de estas instrucciones provoca un llamada al correspondiente comando del UNIX. Sin embargo, en el caso del MS-DOS, el CTL no sólo tiene incluida la gramática del comando, sino también su código, con lo cual no se realiza una llamada al sistema operativo y el tiempo de ejecución es mejor. La gramática de estos comandos embebidos s similar a la del UNIX, y su utilidad es la siguiente:
cp: Copia de ficheros similar al comando COPY del MS-DOS.
mv: Mueve un fichero de un directorio a otro o lo cambia de nombre.
rm: Borra un fichero. Similar al comando DELETE del MS-DOS.
mkdir: Crea un directorio. Similar al MKDIR del MS-DOS.
test: Comprueba si existe un fichero o directorio en disco y sus permisos. Su sintaxis es la siguiente:
test -permiso fichero {-o fichero | -a fichero}
Donde «permiso» podrá ser uno de los siguientes:
«-o» y «-a» son operadores lógicos que equivalen a OR y AND, respectivamente.
El CTL dispone de una variable interna, de nombre STATUS, que devuelve el «estado» de la ejecución de un comando del sistema operativo. Esto es así en el caso del UNIX. Sin embargo, en MS-DOS, y dado que el CTL realiza esta llamada al sistema operativo por medio de la función «system()», el status que se devuelve es siempre el del COMMAND.COM, independientemente del comando que se haya mandado ejecutar, por lo cual el valor de la variable STATUS no es significativo.
En el caso de los comandos citados en el apartado anterior, el valor de la variable STATUS sí es significativo, dado que es el propio CTL quien simula el comportamiento del comando incluyendo el valor de vuelta del status del comando.
Dado que en MS-DOS no existe la posibilidad de multiproceso, la cláusula THROUGH, aunque compilará correctamente por compatibilidad con el UNIX, no ejecutará correctamente, sólo se simulará por compatibilidad en las instrucciones del tipo START OUTPUT STREAM... THROUGH PRINTER.