Página 1 de 3
Migrar do Clipper 5.2e p/ o 5.3b. O que muda. Alguem sabe.
Enviado: 08 Fev 2005 00:56
por Tim9
Clipeiros Amigos!
Acho muito interessante a publicação das ferramentas de desenvolvimento que cada um usa.
Isso serve como indicador das melhores ferramentas para desenvolvimento, considerando que o pessoal daqui, neste assunto, é sem sombras de dúvidas a ELITE, a NATA, os FERAS.
Por exemplo, ainda uso a RDD DBFNTX e me sinto um verdadeiro Dinossauro e quero mudar e já que vou mudar já vou p/ a melhor ferramenta.
Creio que atualmente seja o Clipper 5.3b com a melhor RDD compatível com ele, que não sei qual é.
Estou só precisando de um empurrãozinho p/ criar coragem e meter as caras, contando com a costumeira ajuda de todos.
Se alguém puder dar algumas dicas e me ajudar vou ficar muito feliz e muito grato.
Vale também aquela dica de ir por partes em função do impacto no desenvolvimento considerando a curva de aprendizado da nova ferramenta:
Primeiro migrar da RDD DBFNTX para SIX3 (se for isso o que vai mudar nos meus PRGs) e continuar com o 5.2e na primeira etapa.
Os mais experientes podem falar das dificuldades que vamos enfrentar.
Antecipo meus agradecimentos por qualquer dica, indicação de apostila, link, vale tudo.
Obrigado!
Enviado: 08 Fev 2005 12:59
por vagucs
E estrutura do clipper 5.3 e 5.2 é praticamente a mesma, a diferença é que o clipper 5.3 foi feito totalmente para ser usado em modo protegido.
O RDD DBFCDX é o melhor do clipper 5.3, o NTX também mas com o CDX a velocidade melhora.
Porém como você está para fazer esta migração, te dou um toque, migre de uma vez para xHarbour + CDX, seu programa vai ficar 32bits, multiplataforma, poderá acessar qualquer impressora, sockets, com pouco de esforço bancos relacionais, você terá a opção de colocar um servidor de aplicação onde seu programa funcionará como se fosse um SQL sem a necessidade de mexer em nada usando o velho e bom DBF com o indice de sua preferencia, limitação de tamanho de array ou de variáveis de memória acabam... limitação de arquivos abertos também, aceita até 64 indices NTX por área e mais diversas outras vantagens.
Pense bem, do clipper 5.2 para o 5.3 não há vantagens, muito pelo contrário, você perderá maior parte do acesso as libs, pois o clipper 5.2 tem um acervo de libs muito grande enquanto o Clipper 5.3 foi lançado apenas para morrer... grande minoria hoje usa o clipper 5.3 pois o 5.2 ainda consegue ser mais estável, meno o RDDCDX que do clipper 5.3 é melhor, apesar de nuca ter tido problema com nenhum dos dois.
Os rdd´s do xHarbour são mais estáveis e extensos.
Clipper 5.3
Enviado: 08 Fev 2005 13:10
por Domenico
Prezado Tim9,
Você fez muitas perguntas ao mesmo tempo e algumas passíveis de discussão por serem conflitantes.
Se você pretende mudar para o Clipper 5.3 você terá de imediato as seguintes vantagens:
1 - Todo o código do clipper 5.2 é 100% compatível com o 5.3 pois o 5.3 tem tudo que o 5.2 tem e mais alguma coisa.
observe apenas o fato de que se você está utilizando libs externas podem ser conflitantes com a LLIBG do 5.3
2 - O 5.3 tem o linkador exospace, mas também tem uma versão para o 5.2 - A vantagem do exospace é a administração de memória que o rtlink não tem. (obs.: Muitos elogiam o blinker, no entanto o Blinker é um linkador de dificil utilização e cheio de macetes)
3 - A vantagem de se utilizar o CDX ao invés do NTX é que enquanto o NTX suporta um arquivo para cada indíce o CDX suporta até 15 indíces para um único arquivo. Concluíndo você ganha principalmente em qtde de arquivos abertos.
4 - Outra particularidade do 5.3 é que quando você usa a LLIBG mesmo em modo texto o numero de linhas da tela aumentam para 30
Já postei em outros tópicos um endereço onde você pegar um sistema coml completo com fontes incluíndo os fontes que incluem uma lib gráfica com todas as suas funções e serve de exemplo para quem deseja programar com o clipper em modalidade gráfica.
http://www.kitstore.com.br/downloads/co ... wnload.htm
Espero ter sido esclarecedor
Re: Clipper 5.3
Enviado: 08 Fev 2005 18:56
por Jorge Adourian
Domenico escreveu:obs.: Muitos elogiam o blinker, no entanto o Blinker é um linkador de dificil utilização e cheio de macetes
Não há dificuldade nenhuma em usar o Blinker, coloque suas dúvidas que nós as esclareceremos, e não fique espalhando o que só existe na sua cabeça.
Domenico escreveu:1 - ...observe apenas o fato de que se você está utilizando libs externas podem ser conflitantes com a LLIBG do 5.3
Completando, por exemplo, você não poderá usar o RDD SIX2 ou SIX3.
Domenico escreveu:4 - Outra particularidade do 5.3 é que quando você usa a LLIBG mesmo em modo texto o numero de linhas da tela aumentam para 30
Todos os meus Sistemas estão padronizados para 50 linhas em modo texto, e sem o uso de LIB alguma, apenas usando o SETMODE() nativa do Clipper. Falar em 30 linhas como sendo uma vantagem...Que vantagem é esta ?
Enviado: 08 Fev 2005 20:16
por Domenico
Pois é Jorge,
Precisamos esclarecer algumas coisas para que não existam dúvidas, pelo visto não para nos, para os usuários do Forum, é isto?
Então:
Estou supondo que vc utilize o clipper 5.3 e tenha conhecimento sobre esta versão.
Quanto ao BLinker: Em modalidade texto não tem problema algum mas com a LLIBG que normalmente é o intuito de quem usa o Clipper 5.3 tem algumas dificuldades sim. Mas já que vc está acostumado com clipper 5.3 diga então a todos que desejam utilizar, como compilar com o Blinker.
Quanto a compatibilidade
O que disse foi que a compatibilidade do 5.2 para o 5.3 é de 100% e que poderão encontrar problemas para quem está acostumado a utilizar lib externas feitas para o 5.2 e não para o 5.3.
Até na questão das trinta linhas voce criticou, mas a finalidade, não é usar as trinta linhas, a finalidade do uso do clipper 5.3 é utiliza-lo em modo gráfico. Não disse que é uma vantagem disse que é uma particularidade.
Não entendí sua postura ao criticar um assunto que na verdade não tem polemica alguma.
Tudo o que está escrito está correto.
A pergunta foi: MIGRAR DO CLIPPER 5.2e PARA 5.3B O QUE MUDA. ALGUEM SABE?
Talvez vc tenha algo contra o 5.3 não o culpo, em verdade tenho algo contra o 5.2 e 5.3 também
Enviado: 08 Fev 2005 21:09
por Jorge Adourian
Domenico escreveu:Estou supondo que vc utilize o clipper 5.3 e tenha conhecimento sobre esta versão.
Eu usei o Clipper 5.3b por alguns anos, mas devido a falta de compatibilidade com o SIX tive que voltar para o Clipper 5.2e.
Domenico escreveu:Quanto ao BLinker: Em modalidade texto não tem problema algum mas com a LLIBG que normalmente é o intuito de quem usa o Clipper 5.3 tem algumas dificuldades sim. Mas já que vc está acostumado com clipper 5.3 diga então a todos que desejam utilizar, como compilar com o Blinker.
Quanto ao sua colocação de que eu deva mostrar como
compilar com o Blinker, lembro que o Blinker não compila, e sim linka. Você com certeza é novo no Fórum, pois fique sabendo que fui um dos pioneiros do uso do Blinker e se você pesquisar neste e principalmente no antigo Fórum, você encontrará dezenas de respostas minhas quando ainda poucos usavam o Blinker e eu tinha que dar este Suporte. Quanto a linkar a LLIBG nunca linkei realmente, mas não vejo dificuldade. De qualquer forma se você tem alguma, coloque e vamos achar uma solução.
Domenico escreveu:Não entendí sua postura ao criticar um assunto que na verdade não tem polemica alguma.
Nada que eu leia e não concorde fica sem resposta. Esta é a justificativa. Entenda que isto não é pessoal, é uma discussão puramente Técnica.
Domenico escreveu:Tudo o que está escrito está correto.
Óbviamente que não, pois se estivesse eu não teria interferido.
Domenico escreveu:Talvez vc tenha algo contra o 5.3 não o culpo, em verdade tenho algo contra o 5.2 e 5.3 também
A única coisa contra o 5.3 é o fato de não ter um SIX compatível com ele.
Enviado: 09 Fev 2005 00:36
por evolver
Domenico e Adourian. Esse tipo de post não ajuda em nada o bom andamento do fórum.
O caso de um ser novato e não aplicar corretamente um terno não implica em ele não conhecer da ferramenta que eles usa.
Aqui no fórum poucos conhecem sobre a utilização de APIs em assembler ou mesmo em debugar a nível de assembler as funções do clipper e nem por isso fico falando sobre uma pessoa ser novata ou não.
Caso queiram discutir discutam a nível técnico mesmo, explicando virtudes e defeitos de cada versão.
Colocações do tipo:
Mas já que vc está acostumado com clipper 5.3 diga então a todos que desejam utilizar, como compilar com o Blinker.
...e não fique espalhando o que só existe na sua cabeça.
Falar em 30 linhas como sendo uma vantagem...Que vantagem é esta ?
Não entendí sua postura ao criticar um assunto que na verdade não tem polemica alguma.
Tudo o que está escrito está correto.
Óbviamente que não, pois se estivesse eu não teria interferido.
Façam como o Vagner. Citem as características de cada uma das versões deêm detalhes e soluções. E em caso de haver diferenças de opniões as mesmas deverão ser citadas técnicamente sem o uso de "eu entendo mais do que você". Qualquer nova situação do gênero será levada como desrespeito.
E não vou repreender vocês em PVT pois espero que esse aviso público sirva de aviso a TODOS os usuários do fórum.
Enviado: 09 Fev 2005 02:26
por Dudu_XBase
Boa Noite amigos.....(eh q acabei de chegar em casa...)
Vou ajudar a explicar essa parte..
Primeiro migrar da RDD DBFNTX para SIX3 (se for isso o que vai
mudar nos meus PRGs) e continuar com o 5.2e na primeira etapa.
Vou explicar exatamente os meus passos qdo adotei tal ferramenta
E como estou usando agora...
Usando o RDD SIX indices NSX
Onde pegar o Rdd SIX e como Instalar ?
- Faça o download do rdd SIX 3.02 no saite do Wagner Nunes
http://www.vagucs.com.br/download/six302.zip
- Crie uma pasta SIX na raiz da sua unidade por exemplo C:\SIX e
descompacte.
- Adiciona nas variáveis de ambiente por exemplo:...
+ set include=C:\CLIPPER5\INCLUDE;C:\SIX\INCLUDE
+ set obj=C:\CLIPPER5\OBJ;C:\SIX\OBJ
+ set lib =C:\CLIPPER5\LIB;C:\BLINKER\LIB;C:\SIX\LIB
- O que tenho que alterar nos meus prgs ?
Estou exemplificando o uso do NSX.
+ Adicione o seguinte linha #include "SIXNSX.CH" no seu prg .
+ na linkedição adicione a lib SIX3.LIB
- Como criar um indices composto NSX ?
Exemplo :
Padrão NTX
Use produtos new
index on CODIGO to pro_cod
index on DESCRICAO to pro_des
Usando o rdd SIXNSX vc pode criar até 50 indices...
// para usar o rdd para SIXNSX como padrão
rddsetdefault("SIXNSX")
// exclua sempre o indice antes de indexar caso ele existir neh...
ferase("produtos.nsx")
Use produtos new
index on CODIGO tag 1
index on DESCRICAO tag 2
Isso criará um arquivo unico de indices chamado produtos.nsx
// Caso vc queira abrir um outro dbf que esteja em NTX....
// esse comando volta o drive para padrão NTX
// Assim caso vc queira vc pode continuar usando NTX e indices
// em SIx juntos sem problema...
dbsetdriver("DBFNTX")
- Como Abrir o banco de dados e mudar a ordem dos indices...?
rddsetdefault("SIXNSX")
use produtos new
dbsetindex("produtos")
A ordem dos indices estará na ordem que eles foram criados....
Se eu quiser mudar para o indice ordenado pela descrição.
faço assim dbsetorder(2)
Para vc ver a diferença msm.
Montei um exemplo para galera avaliar...
Faça o download:
http://geocities.yahoo.com.br/dudu_xbase/exemplo.zip
http://br.share.geocities.com/dudu_xbase/exemplo.zip
Caso tiver problema para fazer o download copie o link e cole e pressione enter na janela do seu navegador....q vai embora...ou clique nele com o botão direito e seleciona salvar destino como...
Exemplo.zip contém:
cepdu.dbf // com 28 megas
exemplo.prg
exemplo.lnk
exemplo.exe
Depois de descompactar execute o arquivo exemplo.exe
Ele reindexará em NTX e Nsx....
Depois vc execute um dir *.ntx e um dir *.nsx e verifique o tamanho ocupado pelos indices ntx e o indices composto nsx.
Espero que esse exemplo lhe ajude.
Enviado: 09 Fev 2005 12:45
por Jorge Adourian
vagucs escreveu:... a diferença é que o clipper 5.3 foi feito totalmente para ser usado em modo protegido.
Vagner, onde você leu a respeito disto ? Se puder me informar, eu gostaria de ler também.
Enviado: 09 Fev 2005 19:31
por vagucs
Jorge,
Não li em lugar nenhum, na montagem do DClip eu estudei a estrutura dos dois, o PCODE é basicamente o mesmo, mudam os de algumas rotinas internas...
Cheguei a esta conclusão seguindo a seguinte lógica:
Quando abri as libs do 5.2 pude ver que as rotinas em C e ASM foram escritas para uso em modo real pois acessam memória, interrupção, periféricos, portas de comunicação, etc. foram escritas para acesso diretamente.
As mesmas rotinas do clipper 5.3 foram escritas usando API especificas do sistema operacional ou do próprio linkador para acesso aos mesmos recursos mas via modo protegido, o que não apresenta nenhuma limitação do uso das mesmas em modo real, já as rotinas de modo real não funcionam no modo protegido causando GPF quando algumas das cituações acima tendem a ser executadas.
Assim os dois são basicamente os mesmo, porém o 5.3 e toda a sua extensão é feita para rodar tanto em modo real quanto em modo protegido, já o clipper 5.2 foi feito em tempo que não se falava muito em modo protegido, mas assim mesmo foi e está sendo adptado para isto (Mais propriamente suas libs).
Um caso mesmo é a lib CLBC que não se pode usar em modo protegido.
A fonte desta informação mesmo carrego na cabeça... hehehe...
Enviado: 09 Fev 2005 19:34
por vagucs
Só para concluir:
Como em modo real podemos ir deretamente ao periférico e em modo protegido temos que fazer uma ponte, também chegamos a seguinte conclusão:
1 - programa em modo real é mais rápido
2 - programa em modo protegido é mais lento porém com mais memória disponível.
Se forem migrar, como disse, melhor ir direto para o xHarbour ou permanecer em Clipper 5.2.
Enviado: 10 Fev 2005 03:47
por Tim9
Obrigado PessoALL!
Quanta sabedoria e generosidade, me sinto um abençoado diante de tanto conhecimento. Agradeço de coração a todos que responderam.
Cheguei na seguinte conclusão e corrijam se eu estiver errado:
01. Migrar p/ o 5.3b nem pensar.
02. Continuar com o 5.2e e migrar para NSX usando a SIX3 (e aqui vejo que alguns cobras daqui ainda usam a SIX2 qual a diferença?)
03. Como a LLIBG não é compatível com o 5.2e o meu sonho de modo gráfico acabou ou não? Posso deduzir que o uso da FiveWin por alguns colegas é exatamente para resolver este problema? Se for será que o seu aprendizado é muito díficil?
04. Com o Xharbour vou realizar o meu sonho: Clipper for Windows?
Dudu foi excelente a sua ajuda, baixei do geocites sem problemas aqueles 30 megas e estou analisando, o único probleminha é com o arquivo .LNK que veio como atalho, se vc puder me enviar em PVT para o meu e-mail:
olynthes@terra.com.br vai ajudar muito. Acabo de baixar a SIX3 do site do Vagner.
Mais uma vez um zilhão de agradecimentos a todos.
Enviado: 10 Fev 2005 10:32
por Jorge Adourian
Tim9, eu uso e recomendo o SIX2, pois comprovei por testes que ele e o NTX são os únicos que aguentam a carga máxima de "metralhação", ou seja grande quantidade simultanea por várias janelas ou estações de APPEND e SEEK. Esta "metralhação" demonstra um BUG no CDX e nos SIX1 e SIX3, pois o SEEk acaba por falhar e permitir duplicação.
Mas muitos não acreditam, pois dizem que nunca tiveram problema, o que é perfeitamente aceitavel, pois este é um BUG que existe mas só aparece em circunstâncias extremamente adversas.
Na minha opinião basta um caso de BUG para inviabilizar o uso.
Por isto uso o SIX2. Mas cada um faz o que achar melhor.
Enviado: 10 Fev 2005 10:36
por Jorge Adourian
Vagner, obrigado pela explicação.
Mais algumas questões:
Quando você fala: o 5.3 foi escrito para tabalhar em Real ou em Protegido, você se refere ao Clipper.exe ou ás LIBs dele ? (Devem ser as LIBs, mas só para confirmar)
Podemos concluir então que o 5.3 deverá ter menos GPF ?
Alguns programadores usam uma mescla de CLIPPER.EXE 5.2e com as LIBs do 5.3b, isto também deve ajudar a ter menos GPF. Concorda ?
Enviado: 10 Fev 2005 12:33
por vagucs
Vamor por parte:
01. Migrar p/ o 5.3b nem pensar.
Para usar o FIVEWIN o 5.3 é mais indicado, somente neste caso e para uso de CDX também, lembrando que se perde maior parte das libs que antes funcionavam em Clipper 5.2.
02. Continuar com o 5.2e e migrar para NSX usando a SIX3 (e aqui vejo que alguns cobras daqui ainda usam a SIX2 qual a diferença?)
Jorge respondeu esta e concordo plenamente com ele. Minha opnião é que ir para SIX hoje acho desvantagem, você ganha em velocidade pouca coisa, indico o uso do CDX, pois a tendencia dentro de uns 3 a 5 anos é ter todos os nossos programas rodando multiplataforma em xHarbour.
03. Como a LLIBG não é compatível com o 5.2e o meu sonho de modo gráfico acabou ou não? Posso deduzir que o uso da FiveWin por alguns colegas é exatamente para resolver este problema? Se for será que o seu aprendizado é muito díficil?
No meu site, o tocador de CD visual que criei está compilado em clipper 5.2 com a LLIBG do clipper 5.3 usando o RTLINK, dá uma porção de erros e faço uma misturada das libs mas que rodou, rodou. Ir para fivewin hoje acho desvantagem, melhor ir para Minigui que é gratuita com fonte aberto e você faz uso de todos os componentes do Windows, além de poder mesclar o Delphi com ela, a fivewin ainda não tem uma IDE para arrastar botão, a sintase é muito complicado batendo muito na orientação a objeto, ela ainda, por incrivél que pareça, tem que amadurecer muito, já tem uma vantagem muito grande que é a versão para xHarbour e também a versão GTK, assim os mesmo programas para Windows modo janela podem ser compilador para Linux modo janela.
04. Com o Xharbour vou realizar o meu sonho: Clipper for Windows?
Sim, com uso da WVT sei sistema vai para modo janela sem você nem mexer nos fontes, apenas adicionando umas 3 rotinas no início, você ainda pode usar a Minigui que já tem até IDE para arrastar botão ou mesmo até usar o Delphi para fazer as telas de cadastro.
---------------
Jorge
Quando você fala: o 5.3 foi escrito para tabalhar em Real ou em Protegido, você se refere ao Clipper.exe ou ás LIBs dele ? (Devem ser as LIBs, mas só para confirmar)
Você mesmo respondeu, me refiro as libs dele.
Podemos concluir então que o 5.3 deverá ter menos GPF ?
Com certeza as libs padrão do Clipper não provocam GPF pois elas foram programadas para modo protegido desde o início, pode acontecer o GPF na tentativa de alguma lib do clipper 5.2. Geralmente as libs do clipper 5.2 são compactíveis com o clipper 5.3, excetos as libs que usam programação de baixo nível não preparada para modo protegido (Com uso das API DPMI) ou mesmo algum rotina que seja escrita em clipper que use algumas rotinas internas que tiveram seu PCODE trocado, isto pode ter um resultado diferente do esperado.
Alguns programadores usam uma mescla de CLIPPER.EXE 5.2e com as LIBs do 5.3b, isto também deve ajudar a ter menos GPF. Concorda ?
Muitas libs do 5.3 não poder ser compiladas com o clipper 5.2, você nota que as vezes há imcompatibilidade do cabeçalho da lib ou mesmo de rotinas internas, mas libs escritas em C ou ASM para clipper 5.3 que puderem ser usadas em Clipper 5.2 com certezam não calsarão GPF, so mesmo se usar alguma rotina interna do Clipper 5.3 que não funciona da mesma forma no clipper 5.2.