FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para CA-Clipper ayuda por favor
Posts: 5
Joined: Thu May 17, 2007 10:36 PM
ayuda por favor
Posted: Thu May 17, 2007 10:49 PM

Hola
Gracias de Antemano por su ayuda

estoy con un programa el clip53 y la librer铆a iolib
compilo con
caso 1
blinker myprog fi iolib blinker exe dual search blxclp53

pero me marca un error
BLX286 :1313 exception error 0D: general protection fault, code=000h
active host is vcpi (v7.00 i486 14920 kb)

caso 2
si lo compilo simple
blinker myprog fi iolib
si trabaja

el problema que al enlazar toda la aplicacion en el segundo caso no alcanza la memoria

que podr谩 ser

de antemano muchas gracias.

El铆as Oros

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
ayuda por favor
Posted: Fri May 18, 2007 06:45 AM

El铆as,

La librer铆a iolib es compatible con el modo protegido ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 5
Joined: Thu May 17, 2007 10:36 PM
gracias
Posted: Fri May 18, 2007 12:46 PM

BLX286 :1313 exception error 0D: general protection fault, code=000h
pero el blx286 de que es .

ya compile con blinker exe compress 5 y parece que ya no de ma el error

Gracias.

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
ayuda por favor
Posted: Fri May 18, 2007 02:39 PM

El general protection fault es un error de protecci贸n general que indica que iolib posiblemente no sea compatible con el modo protegido.

Tienes el c贸digo fuente de iolib ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 5
Joined: Thu May 17, 2007 10:36 PM
no solo la libreria.
Posted: Mon May 21, 2007 06:56 PM

No solo la libreria.

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
ayuda por favor
Posted: Tue May 22, 2007 07:46 AM

Necesitas conseguir una versi贸n de esa librer铆a compatible con el modo protegido.

O ind铆canos que hace esa librer铆a y veremos si hay otra que te pueda servir

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 5
Joined: Thu May 17, 2007 10:36 PM
activa los puerto serial
Posted: Tue May 22, 2007 01:15 PM

activa los puertos seriales para leer y escribir
los uso en una aplicacion de lector con trajetas de credito y debito.
Gracias.

                    Functions For IOLib
          Values for INIT_PORT can be seen in IOLib.ch
                          Version 1.2r1

INIT_PORT(Nx_port,Nbaud,Ndata,Nparity,Nstop,Nirq,@cIn_buffer) => log
Initializes the communication port and sets up the input bufferd stream
Pass:
Nx_port= base port value see IOLib.ch
Nbaud= The baud rate divisor see IOLib.ch for standard bauds
Ndata=data bits 5 to 8
Nparity= Parity value see IOLib.ch
Nstop=number of stop bits
Nirq=Interrupt number
cIn_buffer= a public String variable 512 bytes or larger, no more
than 32k, ie <Public cIn_buffer:=SPACE(4000) > This option may change
in the future to a numeric value for buffer size.


OUTC(nVar,[nPort])
Sends a value out the communication port, default port is
the one used by INIT_PORT(), optional any port.
This function will wait a short time for the port to become
available.

nVar= a numeric value 0 to 255
nPort=hardware Port number to send the value
NOTE: nPort not available in BETA version.


OUTCHR(@cString) =log
Spools a string out the Initialized port cString must not be larger
than 32k, and no smaller than 1 byte, it may contain imbeded null
bytes. The cString must remain public and can not be cleared until
the buffer is clear see OUTBUFSIZE()

Returns False if another stream is still spooling.


INCHR(nVar) => cVar
Returns one or more bytes communication port input buffer.
Maximum is INITSIZE-1
Note: Returns NIL if no byte available do not mistake with chr(0)

Example:
cVar:=INCHR(1)
do case
case cVAR=NIL
* do nothing
case cVar=chr(0)
* received break
otherwise
?? cVar
endcase


UNINT_PORT()
returns NIL
Uninitializes the communication port, this MUST be done before
exiting program. Best use the following function.

EXIT PROCEDURE cleanup()
CLS
UNINT_PORT()
? "Port Uninitialized, program terminating............."
RETURN


ISWORKING() =>Log
Returns TRUE if IRQ is working, the byte is set by the input/ouput
spooler.


ISONLINE() => log
Returns True if modem online


IOLIB_VER() =>cString
Returns character string of IO version


SETDTR([lVar]) =>log
returns .t. if DTR has been set, otherwise false optional lVar
will set the DTR .
EXAMPLE:
LOCAL l_DTR
l_DTR:=SETDTR(.T.)


SETRTS([lvar]) => log
returns .t. if RTS has been set, otherwise false optional lVar
will set the RTS .
EXAMPLE:
LOCAL l_RTS
l_DTR:=SETRTS(.T.)


DSR() => log Returns .T. if DSR set better than Xon/Xoff


CTS() => log Returns .T. if CTS set better than Xon/Xoff


Note: You may use DTR/DSR as a Hardware version of Xon/Xoff
or you may use RTS/CTS. Or none.

If changing the IRQ, you must use UNINT_PORT() before
using INIT_PORT()


INBUFSIZE() => Num
Returns a numeric value of how many characters remain in the inbuffer.
Input buffer can hold up to one less than the init size.


OUTBUFSIZE() => Num
Returns a numeric value of how many characters remain in the ouput stream.


INBUFCLR()
clears the input buffer, all waiting characters are lost.


OUTBUFCLR()
clears the output buffer, all waiting characters are lost.


CHKCRC(cString)=> cCrc

Returns a 3 byte string pertaining to passed string.
First byte is the checksum
Second and third are a 16 bit CRC


Microsoft (R) Library Manager Version 3.10
Copyright (C) Microsoft Corp 1983-1988. All rights reserved.

CHKCRC............io CTS...............io
DSR...............io INBUFCLR..........io
INBUFSIZE.........io INCHR.............io
INIT_PORT.........io INPORT............io
IOLIB_VER.........io ISONLINE..........io
ISWORKING.........io OUTBUFCLR.........io
OUTBUFSIZE........io OUTC..............io
OUTCHR............io OUTPORT...........io
SETDTR............io SETRTS............io
SIZEO.............io UNINT_PORT........io

io Offset: 00000010H Code and data size: 7ceH
CHKCRC CTS DSR INBUFCLR
INBUFSIZE INCHR INIT_PORT INPORT
IOLIB_VER ISONLINE ISWORKING OUTBUFCLR
OUTBUFSIZE OUTC OUTCHR OUTPORT
SETDTR SETRTS SIZEO UNINT_PORT


Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
ayuda por favor
Posted: Tue May 22, 2007 08:04 PM

Intenta contactar con el fabricante de esa librer铆a para que te proporciones una versi贸n compatible con el modo protegido.

Si no puedes conseguirla tendras que usar las funciones propias de comunicaci贸n del API de Windows y tendr谩s que modificar tu c贸digo fuente

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion