SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: betitono1 en Jueves 25 de Marzo de 2004, 21:03

Título: Detectar Direccion Del Puerto Paralelo En Builder
Publicado por: betitono1 en Jueves 25 de Marzo de 2004, 21:03
Este procedimiento es para detectar el puerto paralelo en c pero me marca un error de violacion de acceso al querer imprimir el puntero *puntero_a_direccion, alguien podira decirme porque.

Esto lo compile en c++ builder 5

#include <vcl.h>
#include <conio.h>
#include <stdio.h>

Lo compile en c++ builder 5

#include <dos.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[]){
    unsigned int far *puntero_a_direccion;
    int i;
    puntero_a_direccion=(unsigned int far *)0x00000408;

    for (i=0; i<3; i++)
    {
        if (*puntero_a_direccion == 0)
        printf("No se encontro puerto asignado a LPT%d \n", i+1);
        else
        printf("La direccion asignada a LPT%d es 0x%Xh\n",  i+1, *puntero_a_direccion); [  B]//aqui aparece  error [/B]        puntero_a_direccion++;
    }
    return 0;
}
Título: Re: Detectar Direccion Del Puerto Paralelo En Builder
Publicado por: QliX=D! en Jueves 25 de Marzo de 2004, 22:21
porque esa direccion en windows no se usa, eso es una app de DOS y en windos da violacion de acceso pro que es un area reseervada para el sistema esa.
tenes que usar otro metodo a travez de la api o algun control activex para que no joda para nada.

En programacion las cosas no son copy&paste

slds.
Título: Re: Detectar Direccion Del Puerto Paralelo En Builder
Publicado por: betitono1 en Viernes 26 de Marzo de 2004, 08:12
El codigo que envie lo hacia supuestamente en DOS me imagino que también lo debe de hacer cualquier versión de windows, además solo se esta realizando una lectura no se hace alguna modificación y si no funcionara como le podira hacer entonces para conocer la dirección del puerto paralelo?

Saludos
Título: Re: Detectar Direccion Del Puerto Paralelo En Builder
Publicado por: QliX=D! en Viernes 26 de Marzo de 2004, 21:29
REpito, es windows, n podes usar rutinas de DOS, entendes?.

Para que queres saber la direccion?, si es para controlarlo, tenes que hacerlo con la api de windows o algun control y/o libreria que te facilite las cosas.
No podes hacer el mismo manejo en DOS que en Windows con respecto a los ppunteros a memoria especificos y al codigo en assembler.

slds.