Pra quem esqueceu, e pra ficar anotado:
O limite do DOS são 255 arquivos, mas 2 ou 3 são reservados ao sistema operacional.
Por padrão vém limitado a 40. Pra aumentar esse limite, um arquivo CONFIG.SYS ou CONFIG.NT com files=250
Teoricamente o Clipper não teria limites, já que o limite é o DOS que impõe, portanto 255 arquivos (menos os reservados).
Por padrão vém limitado a 20. Pra aumentar esse limite, o comando SET CLIPPER=F250, no AUTOEXEC.BAT ou AUTOEXEC.NT pra configurar automático.
Tipos de arquivo de compilação/linquedição (de certa forma, igual em qualquer linguagem de programação):
PRG - é o fonte
OBJ - é o fonte transformado em objeto, pode existir OBJ resultado de seus fontes, ou de fontes de outra origem
LIB - é um conjunto de arquivos OBJ, que vai fazer parte do EXE caso seja usada. Pode fazer LIB de seus fontes, tem as LIBs do Clipper, tem LIBs de terceiros
EXE - é o resultado final
DLL - Também era possível usar no Clipper. É como um pedaço do EXE, que pode ser trocado sem ter que recompilar todo EXE.
OVL - Mais conhecido antes do RTLINK - overlay. É pedaço de EXE, mas pra carregar um pouco de cada vez, economizando memória
CLIPPER.EXE
O compilador, que transforma PRG em OBJ
LIB.EXE
Não fazia parte do Clipper. É pra juntar vários OBJ em um arquivo LIB
RTLINK.EXE, BLINKER.EXE, EXOSPACE.EXE
Linqueditores. Pegam OBJ, LIB juntam tudo e geram o EXE.
BLINKER.EXE
O que vém no Clipper é limitado, a versão em separado é muito melhor
RMAKE.EXE
Programa opcional, pra ajudar a gerenciar os fontes, e criar compilações personalizadas
SIXCDX.LIB
Biblioteca pra usar CDX, melhor e mais confiável do que a CDX original do Clipper 5.2
OSLIB.LIB
Programa pra evitar o uso de 100% de CPU
Relembrando Clipper
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Relembrando Clipper
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Relembrando Clipper
Como compilar?
gerar o OBJ e depois linqueditar
CLIPPER fonte
RTLINK FI fonte
Se for mais de um fonte:
CLIPPER fonte
CLIPPER fonte2
RTLINK FI fonte, fonte2
se tiver LIB em separado, precisa indicar
CLIPPER fonte
RTLINK FI fonte LIB oslib
Se os arquivos OBJ, LIB e CH não estiverem na mesma pasta dos fontes, uma opção era indicar pasta, e outra era configurar a variável de ambiente:
Por exemplo, pra mandar o lixo pra pasta \temp
CLIPPER fonte -o\temp\
RTLINK FI \obj\fonte LIB \lib\oslib
Outra opção para o CLIPPER/RTLINK era indicar pastas alternativas pra buscar automático, algo parecido com SET PATH
SET LIB=\clipper\lib;\minhalib\
SET OBJ=\temp\
SET INCLUDE=\clipper\include;\meusincludes\
Basicamente é isso que muita gente esquece.
Indicando automático busca automático, compila normalmente, mas pra compilar/linqueditar é obrigatório que existam esses arquivos.
Ao esquecer, não percebe que vai precisar delas no Harbour.
Importante: lembrando que no DOS o nome dos arquivos são limitados a 8 letras, não adianta querer colocar nomes maiores no Clipper/Rtlink.
gerar o OBJ e depois linqueditar
CLIPPER fonte
RTLINK FI fonte
Se for mais de um fonte:
CLIPPER fonte
CLIPPER fonte2
RTLINK FI fonte, fonte2
se tiver LIB em separado, precisa indicar
CLIPPER fonte
RTLINK FI fonte LIB oslib
Se os arquivos OBJ, LIB e CH não estiverem na mesma pasta dos fontes, uma opção era indicar pasta, e outra era configurar a variável de ambiente:
Por exemplo, pra mandar o lixo pra pasta \temp
CLIPPER fonte -o\temp\
RTLINK FI \obj\fonte LIB \lib\oslib
Outra opção para o CLIPPER/RTLINK era indicar pastas alternativas pra buscar automático, algo parecido com SET PATH
SET LIB=\clipper\lib;\minhalib\
SET OBJ=\temp\
SET INCLUDE=\clipper\include;\meusincludes\
Basicamente é isso que muita gente esquece.
Indicando automático busca automático, compila normalmente, mas pra compilar/linqueditar é obrigatório que existam esses arquivos.
Ao esquecer, não percebe que vai precisar delas no Harbour.
Importante: lembrando que no DOS o nome dos arquivos são limitados a 8 letras, não adianta querer colocar nomes maiores no Clipper/Rtlink.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Relembrando Clipper
Porque é importante relembrar tudo isso, até mesmo antes de partir para o Harbour:
Identifique quais fontes estão sendo compilados, se está usando algum OBJ que não faz parte de seus fontes, e se está usando alguma LIB que não faz parte de seus fontes.
Aliás... não apenas para o Harbour, até mesmo pra quando for transferir seus aplicativos de uma máquina para outra: pode estar copiando a pasta de fontes, e precisar de coisas que não estão na pasta.
Ou... o que acontece muito... colocar dentro da pasta do Clipper arquivos que nào são dele, e depois ao reinstalar o Clipper não vai ter esses arquivos.
Ou seja:
Organizar tudo é bom pra trabalhar com Clipper, pra criar seu ambiente de trabalho em qualquer máquina nova.
E essa mesma organização vai facilitar trabalhar com Harbour depois.
Identifique quais fontes estão sendo compilados, se está usando algum OBJ que não faz parte de seus fontes, e se está usando alguma LIB que não faz parte de seus fontes.
Aliás... não apenas para o Harbour, até mesmo pra quando for transferir seus aplicativos de uma máquina para outra: pode estar copiando a pasta de fontes, e precisar de coisas que não estão na pasta.
Ou... o que acontece muito... colocar dentro da pasta do Clipper arquivos que nào são dele, e depois ao reinstalar o Clipper não vai ter esses arquivos.
Ou seja:
Organizar tudo é bom pra trabalhar com Clipper, pra criar seu ambiente de trabalho em qualquer máquina nova.
E essa mesma organização vai facilitar trabalhar com Harbour depois.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Relembrando Clipper
Pra completar faltou dizer do SET PATH, apesar que é uma coisa que deveria ser comum pra todos.
Ao digitar CLIPPER, pode ser que não funcione, principalmente em uma máquina nova.
Porque? porque o sistema operacional não sai procurando aonde está o programa, é você que precisa indicar.
1. CLIPPER.EXE na própria pasta
CLIPPER
2. CLIPPER.EXE na pasta \clipper, chamando manual.
\clipper\CLIPPER
3. CLIPPER.EXE na pasta \clipper, mas chamando automático, sem precisa indicar aonde está
SET PATH=%PATH%;\clipper
CLIPPER
Nota: %PATH% indica o conteúdo anterior de PATH. Da forma acima, vai manter o conteúdo anterior mas acrescentar \clipper nessa lista
Isso vale pra qualquer programa: CLIPPER, BLINKER, HARBOUR, editor de textos, programa Windows, etc.
No Windows 10 a configuração do PATH é interessante, porque mostra CADA um dos paths, um embaixo do outro.
Se for colocar num BAT, pode ser interessante fazer assim, pra identificar melhor cada elemento adicionado:
SET PATH=%PATH%;\clipper\bin
SET PATH=%PATH%;\blinker
SET PATH=%PATH%;\Harbour\bin
SET PATH=%PATH%;\Harbour\comp\mingw\bin
SET PATH=%PATH%;\pnotepad
SET PATH=%PATH%;\util
SET LIB=\clipper\lib
SET LIB=%LIB%;\blinker\lib
SET LIB=%LIB%;\sixcdx
SET OBJ=\blinker\obj
SET OBJ=%OBJ%;\temp\
Ao digitar CLIPPER, pode ser que não funcione, principalmente em uma máquina nova.
Porque? porque o sistema operacional não sai procurando aonde está o programa, é você que precisa indicar.
1. CLIPPER.EXE na própria pasta
CLIPPER
2. CLIPPER.EXE na pasta \clipper, chamando manual.
\clipper\CLIPPER
3. CLIPPER.EXE na pasta \clipper, mas chamando automático, sem precisa indicar aonde está
SET PATH=%PATH%;\clipper
CLIPPER
Nota: %PATH% indica o conteúdo anterior de PATH. Da forma acima, vai manter o conteúdo anterior mas acrescentar \clipper nessa lista
Isso vale pra qualquer programa: CLIPPER, BLINKER, HARBOUR, editor de textos, programa Windows, etc.
No Windows 10 a configuração do PATH é interessante, porque mostra CADA um dos paths, um embaixo do outro.
Se for colocar num BAT, pode ser interessante fazer assim, pra identificar melhor cada elemento adicionado:
SET PATH=%PATH%;\clipper\bin
SET PATH=%PATH%;\blinker
SET PATH=%PATH%;\Harbour\bin
SET PATH=%PATH%;\Harbour\comp\mingw\bin
SET PATH=%PATH%;\pnotepad
SET PATH=%PATH%;\util
SET LIB=\clipper\lib
SET LIB=%LIB%;\blinker\lib
SET LIB=%LIB%;\sixcdx
SET OBJ=\blinker\obj
SET OBJ=%OBJ%;\temp\
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/