Página 1 de 2
Blinker 7.0 e ct.lib com GPF
Enviado: 18 Set 2009 15:55
por fertriod3
Boa tarde a todos,
Estou iniciando no Fórum, apesar de programar em Clipper há algum tempo, mas estava usando o Clipper 5.2 com Rtlink e meu executável ficou grande demais para os XPs do escritório. Então estou linkando com Blinker 7.0, mas se eu mantiver a biblioteca ct.lib no meu .lnk dá GPF. Se eu tirá-la do lnk o programa roda até pedir alguma funcao da lib.
Re: Blinker 7.0 e ct.lib com GPF
Enviado: 18 Set 2009 16:54
por Maligno
Olá.
Seja bem-vindo ao fórum.
A biblioteca CATools tem uma versão de arquivo que é compatível com o modo protegido: CPT.LIB, que pode ser baixada do meu
site. Reinstale (são 3 arquivos ZIP, a partir do segundo que aparece) na ordem em que eles aparecem. Mas se preferir, há um outro (o primeiro), com sufixo "
installed", que é a instalação completa, pronto pra ser descompactado num diretório. Mais fácil.
Re: Blinker 7.0 e ct.lib com GPF
Enviado: 18 Set 2009 18:22
por fertriod3
Obrigado Maligno, vou baixar,testar e posto o resultado. Estou insistindo no modo protegido do Blinker porque acho que vale a pena, meu EXE tinha 2,06 Mb e caiu para 800 Kb!!
Abs
Re: Blinker 7.0 e ct.lib com GPF
Enviado: 18 Set 2009 19:04
por Maligno
Sim, o modo protegido é bem melhor. Mas o programa é o mesmo. Se o EXE diminuiu de tamanho é porque você está usando a compactação que o BLinker oferece. No final das contas dá no mesmo. Ele terá de ser descompactado de qualquer forma. A grande vantagem está no uso da memória, que é muito melhor.
Re: Blinker 7.0 e ct.lib com GPF
Enviado: 19 Set 2009 00:48
por alxsts
Saudações a todos!
Sei que foi um erro de digitação mas, para clareza informo: o nome correto do arquivo é CTP.LIB.
Re: Blinker 7.0 e ct.lib com GPF
Enviado: 19 Set 2009 01:23
por Maligno
Boa intervenção. Obrigado. Realmente é CTP.LIB. Acho que escrevi muito rápido e passou batido.

Re: Blinker 7.0 e ct.lib com GPF
Enviado: 19 Set 2009 08:25
por fertriod3
Olá pessoal,
Meu problema está na linha "BLINKER EXECUTABLE EXTENDED". Deixando esta linha,o programa executa, mas dá o GPF mais pra frente. Se eu tiro, o programa roda beleza, a diferença está no tamanho do EXE. Com a linha acima, o EXE tem 1.855 Kb. Sem a linha dá 818 kb, e eu copiei todos os arquivos da lib CTP.LIB que baixei no site do Maligno.
O que pode estar acontecendo?
Re: Blinker 7.0 e ct.lib com GPF
Enviado: 19 Set 2009 09:05
por jelias
Amiguinho,
Seugiro que post o seu arquivo lnk para possamos avaliar.
Encontrei este post sobre o assunto e acho que poderá ajudá-lo.
viewtopic.php?f=1&t=8801&hilit=vari%C3%A1veis+de+ambiente+clipper
Sds,
Júlio.
Re: Blinker 7.0 e ct.lib com GPF
Enviado: 19 Set 2009 09:22
por fertriod3
Bom dia,
Vai aí meu .lnk
BLINKER INCREMENTAL OFF
BLINKER EXEC CLIPPER //F:255 //DYNF:8 //SWAPK:65535 //SWAPPATH:"c:\temp" //TEMPPATH:"c:\temp"
BLINKER EXECUTABLE EXTEND
#COMPRIME O EXECUTAVEL 1=MAXIMO
BLINKER EXECUTABLE COMPRESS 1
#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 SIFPD
FI SIPRC
FI SIICLI
FI SIIREP
FI SIIPRO
FI SIITRA
FI SIIHIS
FI SICFI
FI SIIFPD
FI SIIVEN
FI SIPDV
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 SIPDVF
FI SITABUF
FI SILISTP
FI SIRFATE
FI SICORRP
FI SICBR
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
ENDAREA
LIB ctp // a lib ct.lib nÆo ‚ compativel com modo protegido
LIB CLUBELIB
LIB NANFOR52
LIB oslib
@CL520MID.LNK
Não seria o problema na memoria extendida, ou no Blinker ou no meu Autoexec.nt? Está tudo habilitado:
lh %SystemRoot%\system32\mscdexnt.exe
lh %SystemRoot%\system32\redir
lh %SystemRoot%\system32\dosx
Abs
Re: Blinker 7.0 e ct.lib com GPF
Enviado: 19 Set 2009 09:54
por Maligno
Primeiro de tudo: no modo protegido qualquer menção a OVERLAY pode ser esquecido, já que neste modo o BLinker ignora esse tipo de segmentação.
O problema de GPF está em alguma biblioteca que não está preparada para o modo protegido. Se bem me lembro, a biblioteca NANFOR, ao contrário da OSLIB, não está preparada para o modo protegido. Logo, algumas funções (nem todas) darão GPF. Usa muita coisa dela? Essa CLUBELIB eu não conheço. O que tem nela?
Re: Blinker 7.0 e ct.lib com GPF
Enviado: 19 Set 2009 10:33
por fertriod3
A CLUBELIB é uma biblioteca do antigo Clipper's Club, se não me engano (faz tempo que ela é usada e eu herdei de outro programador ) que tem funcoes para impressao na tela, menu, limpar arrays, etc. É possível editar LIBs, ou só incluir/exclui funções?
PEQUENO EXEMPLO DA CLUBELIB
// O comando MENU TO e substituido pela funcao _MenuTo()
Abs
Re: Blinker 7.0 e ct.lib com GPF
Enviado: 19 Set 2009 10:42
por Maligno
Então, se essa CLUBELIB tiver alguma função que faz acesso direto à memória, provavelmente ela deve gerar algum GPF. No modo protegido o acesso à memória é feito através de uma prévia autorização do sistema operacional, que fornece um "seletor", através do qual o acesso pode ser feito. Sem esse procedimento é GPF na certa.
É possível editar LIBs, ou só incluir/exclui funções?
Nem um nem outro. Você só pode incluir e/ou excluir "módulos", que são os arquivos objetos gerados na compilação. E, claro, num arquivo você pode ter diversas funções. Pra remover uma função, por exemplo, o módulo todo deve ser apagado.
Re: Blinker 7.0 e ct.lib com GPF
Enviado: 19 Set 2009 10:58
por fertriod3
Então em vez de linkar a LIB no arquivo lnk, eu posso colocar um .ch com as funcoes na linha #include que é a mesma coisa?
Re: Blinker 7.0 e ct.lib com GPF
Enviado: 19 Set 2009 11:08
por Maligno
Não. Um arquivo de cabeçalho do tipo .CH (header) tem um efeito bem simples. Ele serve para economizar digitação, basicamente. Informar um arquivo de cabeçalho teria o mesmo efeito se você tivesse digitado seu conteúdo a partir do ponto onde ele foi incluído. Ou seja, a função da inclusão de um header é meramente textual. Não tem absolutamente nada a ver com binário.
Re: Blinker 7.0 e ct.lib com GPF
Enviado: 20 Set 2009 20:17
por jelias
Amiguinho,
Eu já usei as rotinas do Clipper´s Clube e nâo tive problemas com as funções geradas nesta lib.
Quando passei a usar o Blinker tive que substituir a NANFOR52 e se me recordo bem uma de suas funções é usada no menuto do arquivo contmenu.prg.
É só voçê substituir o função e tirar este arquivo do lnk que vai funcionar blz!
Irei ver aqui se me recordo qual a função para ajudar, todavia no momento não consigo recordar.
Sds,
Júlio.