Amiguinha,
Não é preciso retirar .OBJ a não ser que os mesmos nem sejam usados no sistema.
Como voce não nos deu noção de como esta usando o sistema não podemos dar mais informações.
Por exemplo se voce nos informar que esta executando o sistema puramente em DOS, daremos definições de como compilar com o Blinker neste ambiente.
O Blinker possue otimizações onde ao ser executado ele pode, levar todo .EXE para memória ou somente partes dele.
Veja a diferente entre dois .LNKs com o mesmo propósito
Tudo junto:
Código: Selecionar todos
FILE NF,ERRORSYS,NFFUNCAO
LIB NFLIB,MOUSE,CT
FILE NFCAD,NFI01,NFI02,NFI03,NFI04,NFI05,NFI06,NFI07, NFI08,NFI09,NFI10,NFI11,NFI12,NFI13,NFI14
FILE NFC01,NFC02,NFC03,NFC04,NFC05,NFC06,NFC07C,NFC08,NFC09,NFC10,NFC11,NFC12,NFC13,NFC14
FILE NFFAT,NFFAT01,NFFAT02,NFFAT03,NFFAT04,NFFAT05,NFFAT06,NFFAT71,NFWA
FILE NFFIN,NFFIN01,NFFIN02,NFFIN03,NFFIN04
FILE NFEST,NFEST01,NFEST07
FILE CTBILINC,CTBILI01,CTBILI02,CTBILI03,CTBILI04,CTBILI05
FILE CTBILC01,CTBILC02,CTBILC03,CTBILC04,CTBILC05
FILE CTBILREL,CTBILR01,CTBILR02,CTBILR04,CTBILR06,CTBILR07,CTBILR08,CTBILR11
FILE CTBILR12,CTBILR13,CTBILR14
FILE NFREL,NFRCL01,NFRCL02,NFRCL03,NFRCL04,NFRCL05,NFRCL06,NFRELCLE
FILE NFRFO01,NFRFO02,NFRFO03,NFRFO04,NFRFO05
FILE NFRTR01,NFRTR02,NFRTR05
FILE NFRFU01,NFRFU02,NFRFU03,NFRFU04
FILE NFRFA06,NFRFA07,NFRFA08,NFRFA10,NFRFA11,NFRFA12
FILE NFRFI13,NFRFI14,NFRFI18,NFRFI19,NFRFI20,NFRFI24
FILE NFRES25,NFRES25A,NFRES26,NFRES27,NFRES28,NFRES29,NFRES30,NFRES31,NFRES32,NFRES33,NFRES34
OUTPUT NF
Neste exemplo voce pode notar que o executável será gerado contendo todos os módulos .PRGs e quando for executado, tudo irá para a memória. Se a mesma nãofor bem gerenciada, realmente faltará espaço para o programa na memória e eventualmente, arquivos de dados não serão abertos e se forem, os indices não serão abertos. Desta forma o erro pode ocorrer se a área do .DBF em questão estiver aberta mas a tabela não for carregada.
Usando overlays:
Código: Selecionar todos
BLINKER OVERLAY DYNAMIC
BLINKER INCREMENTAL OFF
FILE NF,ERRORSYS,NFFUNCAO
LIB NFLIB,MOUSE,CT
BEGINAREA
SECTION INTO NFCAD FILE NFCAD,NFI01,NFI02,NFI03,NFI05,NFI06,NFI07, NFI08,NFI09,NFI10,NFI11,NFI12,NFI13,NFI14,NFI15,NFI16,NFI17,NFI18,NFI19,NFI20,NFI21,NFI22,NFI22e,NFI23,NFI24,NFI25,NFI26,NFI27
SECTION INTO NFCAD FILE NFC07C,NFC01,NFC02,NFC03,NFC05,NFC09,NFC14
SECTION INTO NFCAD FILE NFCTBI01,NFCTBI02,NFCTBI03,NFCTBI04,NFCTBI05
SECTION INTO NFCAD FILE NFCTBC03
SECTION INTO NFFAT FILE NFFAT,NFFAT01,NFFAT02,NFFAT03,NFFAT04,NFFAT05,NFFAT06,NFFAT07,NFFAT08,NFFAT09,NFFAT10,NFFAT13
SECTION INTO NFFAT FILE NFPRO01,NFPRO02,NFPRO04
SECTION INTO NFFIN FILE NFFIN,NFFIN01,NFFIN02,NFFIN03,NFFIN04,NFFIN99
SECTION INTO NFEST FILE NFEST,NFEST01
SECTION INTO NFREL FILE NFREL,NFRCL01,NFRCL02,NFRCL05,NFRCL06,NFRCL07,NFRCL09,NFRELCLE,NFRELSER
SECTION INTO NFREL FILE NFRFO01,NFRFO02,NFRFO05,NFRFO07
SECTION INTO NFREL FILE NFRTR01,NFRTR02,NFRTR05,NFRTR07
SECTION INTO NFREL FILE NFRFU01,NFRFU02,NFRFU05,NFRFU07
SECTION INTO NFREL FILE NFRFA06,NFRFA07,NFRFA08,NFRFA10,NFRFA10F,NFRFA11,NFRFA12,NFRFA13,NFRFA13A,NFRFA14
SECTION INTO NFREL FILE NFRFI13,NFRFI14,NFRFI15,NFRFI18,NFRFI19,NFRFI20,NFRFI22,NFRFI24
SECTION INTO NFREL FILE NFRES25,NFRES25A,NFRES26,NFRES27,NFRES28,NFRES29,NFRES30,NFRES31,NFRES32,NFRES33
SECTION INTO NFREL FILE NFCTBR01,NFCTBR02,NFCTBR04,NFCTBR06,NFCTBR07,NFCTBR08,NFCTBR11
SECTION INTO NFREL FILE NFCTBR12,NFCTBR13,NFCTBR14
ENDAREA
OUTPUT NF
Neste segundo exemplo veja
SECTION INTO NFCAD FILE onde:
SECTION INTO - diz ao Blinker que deverá colocar todos o módulos após
FILE dentro de um overlay de nome
NFCAD. E assim por diante.
BLINKER OVERLAY DYNAMIC
Diz ao Blinker que cada pedaço do programa(overlays) deverá alocar o devido tamanho de memória para o seu uso no momento que for chamado.
Perceba que no segundo caso o executável terá em seu módulo principal somente
NF,ERRORSYS,NFFUNCAO. enquanto que os outros módulos estarão internamente em overlays dinamicos em
NFCAD, NFFAT,NFREL,...
Veja também que
NFFUNCAO esta ao lado do .PRG principal( NF )o que indica que a mesma contém funções genéricas que poderão ser chamadas de qualquer overlays que estiver ativo no momento do uso.
Só não me recordo se existe algum comando que diz ao Blinker para criar overlays em separado, ou seja, haveria um .EXE e vários .OVL.