Página 1 de 1

General Protection Fault (GPF) e LFN lib

Enviado: 20 Jan 2014 15:45
por fertriod3
Boa tarde a todos,

Fiquei um bom tempo sem postar, e agora necessito muito de ajuda.
Uso Blinker 7 com Clipper 5.2 e não consigo usar as funções da lib LFN para arquivos de nome longo.

Qualquer função que utilizo dá GPF. Já fiz busca no fórum, mnas nada encontrei.

É uma rotina para converter memo em txt

Se alguém tiver alguma solução antecipadamente agradeço

Código: Selecionar todos

#include "SET.ch"
#include "inkey.ch"
#include "si.ch"
#INCLUDE "LFNLIB.CH"

************************
// CONVERTE DUPLICATAS
FUNCTION ConverteMemo()
************************
LOCAL nomeatu, nomeant
Abrearq()

SELECT Odup

DBGOTOP()

SET PRINT ON
SET DEVICE TO PRINT

SETPRC(0,0)
WHILE !EOF()
   nomeant:="O:\SI\MEMODUP\"+LEFT(TRANDUP(ODup->duplicata),8)+".TXT"

   SET PRINTER TO &nomeant
   linha := 0
   LINS:=MLCOUNT(ODup->obs,60)
   FOR I = 1 TO LINS
      set device to screen
      STATUS("Convertendo duplicata "+ODup->duplicata+"  - Linha"+STRZERO(i,10))
      SET DEVICE TO PRINT
      IF !EMPTY(ALLTRIM(Memoline(ODup->obs,60,i,3,.T.)))
         @ PROW(),0 SAY ALLTRIM(Memoline(ODup->obs,60,i,3,.T.))
         @ PROW()+1,0 SAY ""
      ENDIF
   NEXT

   SET DEVICE TO SCREEN
   SET PRINT OFF
   nomeatu:="O:\SI\MEMODUP\"+TRANDUP(ODup->duplicata)+".TXT"

   LF_FRename(nomeant,nomeatu)

   ODup->(DBSKIP())
END

RETURN ''




Obrigado

Fernando Lara

General Protection Fault (GPF) e LFN lib

Enviado: 20 Jan 2014 17:17
por alxsts
Olá!

Já tentou baixar a lib novamente? Às vezes a que você tem está com algum problema: LFN Library download

Outra ideia seria compilar com Clipper 5.3B (bê). A versão A não saiu legal.

Seria interessante se você postasse os teus scripts do Blinker, usados na geração do executável, para análise.

General Protection Fault (GPF) e LFN lib

Enviado: 20 Jan 2014 17:26
por Toledo
Olá Fernando, no arquivo README.TXT da LFN diz o seguinte:
The LIB file included in the distribution is compiled with Clipper 5.2e, so you may need to recompile the source code if your environment is different.
Possible problems

I use Blinker, and I have personally only tested the LFN Library with version 5.1 of that linker. Other linkers may have problems with the LFN DOS services. Judging from what Ian Day says in one of his readme files, linking with Exospace could have been a potentional problem, but users of the library have reported that it works just fine with Exospace.
I have tested with Clipper 5.2e and Blinker 5.1 and found that the functions work in both real and extended mode. I have not tested with any other linker, so it is possible that the DOS services called by the LFN library are not supported in all environments.
Faça um teste, tente compilar com o o BLinker 5.1 e veja se o GPF ocorre.

Abraços,

General Protection Fault (GPF) e LFN lib

Enviado: 21 Jan 2014 00:15
por lucimauro
Eu compilo aqui com o blinker 7.0 e da certo.
LIB LIB\LFN\LFN.LIB
LIB LIB\LFN\LL.LIB

Nessa ordem

General Protection Fault (GPF) e LFN lib

Enviado: 23 Jan 2014 13:05
por fertriod3
Caríssimos, boa tarde

Obrigado a todos pelas respostas, não tive tempo de logar por estes dias, vou tentar as soluções propostas e volto a postar aqui.


Fernando Lara

General Protection Fault (GPF) e LFN lib

Enviado: 23 Jan 2014 15:01
por fertriod3
alxsts
Baixei pelo seu link, substituí todos os arquivos e não obtive sucesso


Toledo
Não encontrei a versão 5.1 para download, vou ver se tenho num HD externo.

Bom, de qualquer forma, meu lnk do blinker tá aqui

Código: Selecionar todos

BLINKER INCREMENTAL OFF

BLINKER EXEC CLIPPER //F:255 //DYNF:8 //SWAPK:65535 //SWAPPATH:"c:\temp" //TEMPPATH:"c:\temp"
BLINKER EXECUTABLE EXTENDED

#BLINKER CACHE XMS 1024,50%
#BLINKER CACHE EMS 256,50%

#COMPRIME O EXECUTAVEL 1=MAXIMO
BLINKER EXECUTABLE COMPRESS 9
BLINKER LOWMEM RESERVE 1024

#CRIA LINK APESAR DOS "UNRESOLVED EXTERNAL"(FUNCOES NAO ENCONTRADAS)
BLINKER EXECUTABLE NODELETE

SEARCH BLXCLP52

OUTPUT SI.EXE

BEGINAREA
   FI SI
   FI SIIMPFCA
   FI SIIRPA
   FI SITEL
   FI SIFUN
   FI SICLI
   FI SIUTI
   FI SIREP
   FI SIPRO
   FI SINAT
   FI SITRA
   FI SIMSG
   FI SIHIS
   FI SIMAR
   FI SIPRC
   FI SIICLI
   FI SIIREP
   FI SIIPRO
   FI SIITRA
   FI SIIHIS
   FI SICFI
   FI SIIFPD
   FI SIIVEN
   FI SIPDV
   FI CAL
   FI SIOBFAT
   FI SILPD
   FI SILPDB
   FI SIIPED
   FI SILPDC
   FI SIPRE
   FI SIIPRE
   FI SICOT
   FI SIICOT
   FI SIITOT
   FI IMPORT
   FI SIMAT
   FI SIOFI
   FI SITAB
   FI SITLI
   FI SITOS
   FI SIIPEDC
   FI SIICONF
   FI SIACERT
   FI SIATCLI
   FI SICFCLI
   FI SIIMPFCH
   FI SIICOM
   FI SICPRO
   FI SIIMP
   FI SICUS
   FI SIITENC
   FI SIICUS
   FI SIICUSF
   FI DETALHE
   FI SIIPEN
   FI SIRESREG
   FI SIICID
   FI SICHQ
   FI SIAVI
   FI SIIAVI
   FI SIICAN
   FI SIICANCD
   FI SICID
   FI SICOR
   FI SIREG
   FI SILIQ
   FI SIILIQ
   FI SIILIQD
   FI SIORD
   FI SIPEN
   FI SICORT
   FI SIIRPROJ
   FI SIIMDE
   FI SILOS
   FI SII661
   FI SILPDCC
   FI SITRAN
   FI SITABT
   FI SIITRAN
   FI SITRANO
   FI SIIE
   FI SIIC661
   FI SIVALID
   FI SIEMPR
#   FI __WAIT
   FI SIIZEN
   FI SIIC662
   FI SIJUNPED
   FI SIFPD
   FI SIPDVF
   FI SITABUF
   FI SILISTP
   FI SIRFATE
   FI SICORRP
   FI SICBR
   FI SIICBR
   FI SIFRETE
   FI SIBCO
   FI SICBCO
   FI SIMDUP
   FI SIMENU
   FI SIPPIS
   FI SIPCUS
   FI SINFECLI
   FI SIPARFAT
   FI SIPROMC
   FI SIPARCOM
   FI SIENQES
   FI SIENQFE
   FI SIFORMA
   FI SIVCODL
   FI SICNFNF
   FI IMPRES
//   FI SIIMPEND
   FI SIIMPOBS
   FI SIRELDUP
   FI SIIRESP
   FI SINFREP
   FI SIIPREM
   FI SIIRDUP
   FI SIRANK
   FI SIIFIN
   FI SIDC
   FI SICADCC
   FI SIICLIA
   FI TIMESLIC
   FI SIDIFSV
   FI SIPDVR
   FI SILIG
   FI SIDEV
   FI SIMSGP
   FI SIPRAZO
   FI SIDOC
//   FI SIORDCLI
   FI SIMPBCO
   FI SIRAG
   FI SITAL
   FI SIILOG
   FI SIINFO
   FI SIMOVPED
   FI SIICLIR
   FI SIIDEST
   FI SIIANUE
   FI SINFE
//   FI SINF0912
   FI MENUTO
   FI CLUBEFUN
   FI CORES
   FI MOUSE
//   FI GETSYS
   FI SIDESC
   FI SIFINOP
   FI SIPAR
   FI SIALERT
   FI SIAGENDA
   FI SICHREP
ENDAREA

LIB CPMI
LIB LFN
LIB LL
LIB NANFOR52
LIB ctp // a lib ct.lib nÆo ‚ compativel com modo protegido
LIB oslib
#LIB VL2_52
LIB SIBRA

@CL520MID.LNK



Abraços e obrigado a todos

General Protection Fault (GPF) e LFN lib

Enviado: 23 Jan 2014 20:19
por Eolo
LIB ctp // a lib ct.lib não é compativel com modo protegido
Se bem me lembro, a CT e a CTP foram substituídas (ou atualizadas):
CT.lib => CT52 e CTP53.lib
CTP.lib => CTP52 e CTP53.lib

Dê uma pesquisada sobre CTP aqui no forum.

Eu não achei essas LIBs novas nos meus HDs, sei lá onde guardei. Talvez algum colega tenha e possa disponibilizar.

General Protection Fault (GPF) e LFN lib

Enviado: 23 Jan 2014 20:27
por Eolo
Opa, achei as LIBs.
Em anexo.

Elas estavam dentro da CATools completa, que o Maligno me passou há uns trocentos anos...

Correção:
CT.lib => CT52 e CTP53.lib
CTP.lib => CTP52 e CTP53.lib
CT.lib => CT52 e CT53.lib
CTP.lib => CTP52 e CTP53.lib

General Protection Fault (GPF) e LFN lib

Enviado: 23 Jan 2014 21:26
por Eolo
c:\bli\bin\blinker @wido.bli Lib LFN,OSLib,CPMI,NANFOR,LL,CTP52
Um outro detalhe que lembrei (pelo comentário do LUCIMAURO), é sobre a ORDEM das LIBs: não lembro dos detalhes, mas eu estava enfrentando algum problema e alguém me orientou a modificar a ordem delas na linkedição. E resolveu.

Transcrevo uma linha do BAT de linkedição desse programa, no qual entram a LFN e a CTP52. Se essa ordem das LIBs fosse alterada, aparecia o tal problema (não lembro se era GPF ou outro).

General Protection Fault (GPF) e LFN lib

Enviado: 24 Jan 2014 00:39
por lucimauro
NOBELL
BLINKER INCREMENTAL OFF
BLINKER OVERLAY PAGEFRAME ON
BLINKER EXECUTABLE CLIPPER //F:255 //DYNF:8 //SWAPPATH:"C:\WINDOWS\TEMP" T//TEMPATH:"C:\WINDOWS\TEMP"

BLINKER PROCEDURE DEPTH 140
BLINKER EXECUTABLE NODELETE
BLINKER EXECUTABLE COMPRESS 1
BLINKER EXECUTABLE EXTENDED
STACK 7068
BEGINAREA
FILE SEUSPRG.PRG
LIB CTP52
LIB C:\CLIPPER5\NANFOR35\NANFOR.LIB
LIB C:\CLIPPER5\LIB\LFN\LFN.LIB
LIB C:\CLIPPER5\LIB\LFN\LL.LIB
LIB C:\CLIPPER5\NANFOR35\CPMI.LIB
ENDAREA
SEARCH C:\CLIPPER5\BLINKER7\LIB\BLXCLP52.LIB

Veja se assim da certo.

General Protection Fault (GPF) e LFN lib

Enviado: 24 Jan 2014 16:07
por billy1943
Eu uso bastante a LFN.LIB e a mesma está assim colocada no meu .LNK de compilação e linkedição:

LIBRARY oslib,super35,fast,apistd,ptool52,nanfor,blnet,lfn,ll,cpmi

Se mudar a ordem, costuma dar "pau".

General Protection Fault (GPF) e LFN lib

Enviado: 25 Jan 2014 07:41
por fertriod3
Caros amigos,

Testei baixar pelo seu link, Eolo, copiei e colei seu script, lucimauro, e coloquei na ordem que você me orientou, billy1943, mas continua dando o problema quando executo LF_FRENAME(), em outra linha ocorre o mesmo em LF_FCREATE().

Vou testando mais formas de compilar aqui, agradeço imensamente a ajuda de todos.

Obrigado

General Protection Fault (GPF) e LFN lib

Enviado: 25 Jan 2014 09:21
por fertriod3
Amigos,

Problema resolvido (por enquanto).

No arquivol .lnk, troquei a NANFOR52 por NANFOR e funcionou. Agora vou esperar pra ver se não terei problemas em algumas funções.

Obrigado a todos.