IoLib X Blinker 6

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

jmtofoli
Usuário Nível 1
Usuário Nível 1
Mensagens: 6
Registrado em: 22 Jul 2005 10:36

IoLib X Blinker 6

Mensagem por jmtofoli »

Ola pessoal.
Recentemente usei a iolib para fazer a leitura da serial de um equipamento de leitura de PH, porem ao incluir a rotina no sistema e tentar compila-lo usando o blinker em modo extendido, o blinker me retorna o seguinte erro:
BLX286 : 1313 : General protection fault.
Se compilo o sistema sem a instrução "blinker executable extend", o executavel é gerado, porem, não consigo roda-lo por falta de memoria...

Qualquer dica sera bemvinda pois o caso é de extrema urgencia.

Um abraço

Julio Tofoli
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Infelizmente a IO.LIB não é compativel com o modo protegido, por isso dá o GPF.

Você terá que tentar liberar mais memória ou buscar outra lib.

Poste seu LNK e maiores detalhes sobre seu sistema e SO para tentarmos lhe ajudar.

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

vc terá que usar uma lib serial compativel com modo protegido, sugiro o uso da CTCOM que faz parte da CT, melhor, da CTP que é a CAtools para o clipper em modo protegido.
Sem mais
Wagner Nunes
www.vagucs.com.br
jmtofoli
Usuário Nível 1
Usuário Nível 1
Mensagens: 6
Registrado em: 22 Jul 2005 10:36

Mensagem por jmtofoli »

Ola Marcelo!

Meu lnk ta bem simples agora, fui tirando e tirando coisas fico nisso ai. Forma que esta abaixo eu usei para compilar com o rtlink, porem o .exe não consegue ser carregado por falta de memoria.

Acho q vou seguir a dica do vagucs e usar a ctcom mesmo.

Grato pela força!

Julio
  • #c.lnk

    fi balanca,
    rotinas,
    sel_cad,
    man_pes,
    man_rati,
    man_ren,
    man_negc,
    sel_rel,
    sixcdx @six3

    output balanca
    lib \maxsys\lib\maxsys, \maxsys\lib\abre_cdx, \maxsys\lib\ct, \maxsys\lib\iolib
jmtofoli
Usuário Nível 1
Usuário Nível 1
Mensagens: 6
Registrado em: 22 Jul 2005 10:36

Mensagem por jmtofoli »

Aproveitando a deixa, caso alguem tenha algum exemplo do uso da ctcom, ficaria grato em receber...

Julio Tofoli
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Seu programa não parece ser muito grande, acho que roda sem problemas em modo real apenas fazendo algumas modificações no LNK e utilizando o Blinker.

Se você for rodar no Winows 98 também tem algumas modificações no AUTOEXEC.BAT CONFIG.SYS e HIMEM.SYS que devem solucionar seu problema.

Vamos por partes :

LNK

BLINKER INCREMENTAL OFF
BLINKER OVERLAY PAGEFRAME ON
BLINKER EXECUTABLE CLIPPER //F:200 //DYNF:8 //E:1024
BLINKER EXECUTABLE NODELETE
BLINKER EXECUTABLE COMPRESS 9

NOBELL

BEGINAREA
#COLOQUE AQUI A LISTA DOS SEU PROGRAMAS
FILE SEUPROG1
FILE SEUPROG2
FILE SEUPROG3
FILE SEUPROG4
ENDAREA
LIB C:\CLIPPER5\LIB\CLIPPER
LIB C:\CLIPPER5\LIB\EXTEND
LIB C:\CLIPPER5\LIB\TERMINAL
LIB C:\CLIPPER5\LIB\DBFNTX
LIB \maxsys\lib\maxsys,
LIB \maxsys\lib\abre_cdx
LIB \maxsys\lib\ct
LIB \maxsys\lib\iolib

S e você usa Windows 98 :

CONFIG.SYS (que eu recomendo)

DEVICE=C:\WINDOWS\HIMEM.SYS
DOS=HIGH,UMB
FILES=220
BUFFERS=32
STACKS=0,0
REM NADA MAIS QUE ISSO

AUTOEXEC.BAT

REM RECOMENDO O MINIMO NECESSÁRIO
REM SE POSSIVEL NADA ALÉM DE :

PATH=C:\WINDOWS;C:\WINDOWS\COMMAND

REM E ALGUAM OUTRA CONFIGURACAO QUE VOCÊ PRECISE
REM VOCÊ NÃO PRECISA DO SET CLIPPER AQUI POIS JÁ ESTÁ NO LNK

HIMEM.SYS
Teste com as configurações no AUTOEXEC e CONFIG.SYS
Se não funcionar avise aqui no fórum que vamos para esta parte
Obs. Lembre-se de reiniciar o micro após as alterações

Creio que deve funcionar pois já vi sistemas bem mais pesados em modo real funcionando.

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
jmtofoli
Usuário Nível 1
Usuário Nível 1
Mensagens: 6
Registrado em: 22 Jul 2005 10:36

Mensagem por jmtofoli »

Fala Marcelo.

O lnk anterior ao que te mandei era muito parecido com esse.
Fiz o teste com as opções q vc colocou, porem ainda assim o sistema não consegiu abrir...

Como estou sem nenhuma maquina com win98 por aqui, fiz os testes no xp e 2003.

O executavel esta com 1.2MB, e no xp não consegui liberar mais que 655k de memória.

Vou tentar fazer testes numa maquina win98, com certeza consigo tirar mais alguma coisa de memoria dela.

Grato pela força!

Julio Tofoli
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Outra opção seria compilar seu sistema com o xHarbour, eu acho que não existe uma versão IO para o xHarbou mas teria uma maneira simples de contornar o problema.


Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

Sugiro que usem o

BLINKER EXECUTABLE COMPRESS 1


Assim a tbaela de nomes de funções fica comprimida, o DClip nao consegue recuperar ela diretamente e o EXE fica bem menor.
Sem mais
Wagner Nunes
www.vagucs.com.br
jmtofoli
Usuário Nível 1
Usuário Nível 1
Mensagens: 6
Registrado em: 22 Jul 2005 10:36

Mensagem por jmtofoli »

Valeu galera!!
Com as dicas de vc's conseguir resolver o problema.
Acabei usando a ctcom mesmo, funcionou perfeito...

Obrigado a todos e um Feliz Natal!!

Julio Tofoli
Responder