Página 1 de 1

Indice IDX deixando memória baixa.

Enviado: 21 Ago 2012 15:40
por roneiluft
Boa tarde pessoal, estou migrando meu sistema de índices NTX para índices IDX, por diversos motivos de melhoria e velocidade.

Efetuo a abertura dos DBF´s e Índices sempre na abertura do sistema, enquanto estava com os índices NTX, não tinha problema algum, porém quando mudei para IDX esta ocorrendo erro BASE/5300 Memória Baixa.

Alguém já passou por isto e tem alguma solução?

Utilizo o Clipper 5.2 e Blinker 7.0

Desde já agradeço.

Indice IDX deixando memória baixa.

Enviado: 21 Ago 2012 16:02
por alxsts
Olá!

Você informou estar utilizando o Blinker 7 mas não informou se está gerando o executável para modo real ou protegido. Esse tipo de problema geralmente ocorre quando em modo real.

Verifique e tente utilizar o modo protegido, se já não estiver usando. Se postar seus scripts de linkedição facilitará a análise do problema. Utilize a tag para postar código.

Indice IDX deixando memória baixa.

Enviado: 21 Ago 2012 19:26
por JoséQuintas
Talvez a "eval stack"?
Teste acrescentar no comando do blinker:
blinker procedure depth 120
blinker executable alignment 128

Tive problemas com cdx quando usava arquivos memo, só de existir um campo memo no arquivo, não sei se é seu o caso.

Indice IDX deixando memória baixa.

Enviado: 21 Ago 2012 20:17
por roneiluft
Meu arquivo .LNK esta dessa forma.

Código: Selecionar todos

BLINKER EXECUTABLE COMPRESS 1
BLINKER INCREMENTAL OFF
BLINKER OVERLAY UMB ON
BLINKER OVERLAY OPSIZE 40

File....


LIB Vl2_52,Relogio,Orbis,gaspro52,drbar,cpmi,oslib

Indice IDX deixando memória baixa.

Enviado: 21 Ago 2012 20:24
por roneiluft
José acabei de tentar acrescentando as 2 linhas que você comentou, mais continua a mesma coisa...

Esqueci de colocar na linha das lib's DBFCDX.

Obrigado mesmo assim.

Indice IDX deixando memória baixa.

Enviado: 21 Ago 2012 20:53
por Jairo Maia
Olá roneiluft

Tente alterar seu script desta forma, e veja o que acontece.

Nota: Estou mantendo o modo Real. Você está usando a lib RELOGIO. Para usar em modo PROTEGIDO, a história muda. Tente assim e reporte o que ocorre:

Código: Selecionar todos

BLINKER OVERLAY FIXED
BLINKER PROCEDURE DEPTH 110
BLINKER INCREMENTAL OFF
BLINKER OVERLAY PAGEFRAME ON
BLINKER ENVIRONMENT OVERRIDE
BLINKER EXECUTABLE REAL
BLINKER EXECUTABLE CLIPPER E:2048;F:155;SWAPPATHC:\;
BLINKER EXECUTABLE COMPRESS 1

#Remova o # abaixo se desejar colocar o nome do executavel
#OUTPUT Nome_Do_Executavel

BEGINAREA
 #--------------------------------
 # Seus arquivos FILE nesta area
 #--------------------------------

 ALLOCATE EXTEND

 LIBRARY dbfcdx,Vl2_52,Relogio,Orbis,gaspro52,drbar,cpmi,oslib

ENDAREA

SEARCH CLIPPER
BEGIN AREA
MOD accept, acopy, adel, ains, appexit, appinit, atail, cmem, dbcmd0
MOD dbcmd1, dbcmd2, dbcmd3, dbcmd4, dbcmd5, dbcreate, dbgapi, dbgshado
MOD dbnubs, dbstruct, delimdyn, diskio, dlm0, dlm1, emmalloc, emmcount
MOD emmfree, emminst, emmpage, emmreall, emmstat, emmvers, errsys0
MOD exactcmp, getenv, gets0, gets1, gets2, gx, initexit, instd, joinlist
MOD lupdate, memory, mrelease, msave, oldbox, oldclear, outstd, philes
MOD rddord, rddsrv, run, saverest, scroll, sdf0, sdf1, sdfdyn, send, seq
MOD sortof, squawk, startsym, tb, version
ENDAREA
SEARCH TERMINAL

Indice IDX deixando memória baixa.

Enviado: 21 Ago 2012 21:03
por roneiluft
Jairo, muito obrigado pela dica, com a lib Relogio na erro no momento de linkeditar,

porém tirei essa lib e as referencias a ela no sistema e compilou certinho, e não deu erro de memória ao acessar o sistema.

Estarei efetuando alguns testes, mais se você tiver alguma alteração para poder deixar a lib Relogio, agradeço.

Indice IDX deixando memória baixa.

Enviado: 21 Ago 2012 22:42
por Jairo Maia
Olá Ronei,

Uma tentativa que você pode fazer, é colocar a lib RELOGIO fora da área de OVERLAY (área de sobreposição). Para isso, considerando o script postado acima, considere a linha 22 que tem ENDAREA, e a linha 24 que tem SEARCH CLIPPER, e entre elas, faça a seguinte alteração como exemplifico abaixo:

Código: Selecionar todos

ENDAREA

LIBRARY RELOGIO
	 
SEARCH CLIPPER
BEGINAREA
etc...
Creio que voce entendeu que estou removendo a lib RELOGIO para fora de BEGIN AREA/ENDAREA. Veja o que acontece.

Indice IDX deixando memória baixa.

Enviado: 23 Ago 2012 19:45
por roneiluft
Jairo funcionou certinho, mais tenho uma dúvida, no processo de indexação esta demorando mais do que quando era NTX, isso é normal?

E ja aproveitando gostari de saber como vc utiliza uma consulta em varias tabelas exemplo de pedidos, itens do pedido e vendedor para fazer uma consulta mais agil.

Indice IDX deixando memória baixa.

Enviado: 24 Ago 2012 01:47
por JoséQuintas
Não entendi uma coisa: se está usando blinker 7.0, porque precisa ajustar overlay?
Está usando LIBs incompatíveis com modo extendido?
o lnk que usva no blinker 7.0: usando sixcdx (gerado por fonte em clipper)

Código: Selecionar todos

   ? "blinker clipper symbol off" // 20/06
   ? "blinker executable clipper F250"
   ? "blinker executable extended"
   ? "blinker executable compress"
   ? "blinker incremental off"
   ? "blinker procedure depth 120"
   ? "blinker executable alignment 128"
   ? "blinker lowmem reserve 32"
   ? "BLINKER MESSAGE WINK"
   For nCont = 1 To Len(DIR_PRGS)
      ? "file " + DIR_PRGS[nCont,1]
   Next
   ? "file \cdrom\fontes\lib\apporign" // Maligno AppPath
   ? "file \cdrom\fontes\lib\volsernr" // Maligno Vol.Serial
   ? "file \cdrom\fontes\lib\crc32clc" // Maligno CRC32
   ? "lib \cdrom\fontes\lib\OsLib"
   ? "lib Super"
   if COMPILER == "C"
//      ? "file blxclp52" // no caso de rodar DLL
      ? "search blxclp52"
      ? "search six3"
      ? "file \cdrom\fontes\lib\sixuk"
//      ? "file \cdrom\fontes\lib\sixcdx" // usa somente sixcdx
   Endif

Indice IDX deixando memória baixa.

Enviado: 24 Ago 2012 08:37
por Jairo Maia
Olá Ronei,
roneiluft escreveu:no processo de indexação esta demorando mais do que quando era NTX, isso é normal?
Sim, desde que essa diferença não seja gritante. Obviamente que se você tem um grande número de indices, poderá notá-la. Porém, como são indices mais seguros e que pouco apresentam problemas, muito raramente você precisará usar o recurso de reindexação, salvo quando em alguma consulta precisar gerar um índices temporário, mas é insignificante.

Quanto a sua pergunta sobre criar consultas, confesso que não entendi o que você quer. Você está falando de consultas relacionais? É isso?

Olá José,
JoséQuintas escreveu:Não entendi uma coisa: se está usando blinker 7.0, porque precisa ajustar overlay?
Está usando LIBs incompatíveis com modo extendido?
Sim José. A lib RELOGIO funcionaria beleza, dependendo do sistema dele, Já presenciei casos que por alguma razao que não entendo ela embassa, mesmo usando corretamente as libs BLXRATEX e BLXCLP52.

Já Quanto a lib GASPRO52, creio que é impossível. Pelo menos fracassei em todas todas as tentativas que fiz. Ela tem funções de controle de video em ASSEMBLY, e ao tentar usar o modo protegido sempre ocorre o GPF 0000h, que é a tentativa de alocar um seguimento de memória de video, que em modo protegido não é possível, já que é o sistema operacional que a aloca.

Indice IDX deixando memória baixa.

Enviado: 24 Ago 2012 10:42
por roneiluft
Isso mesmo Jairo consultas relacionais, não sei se estou fazendo da melhor forma que existe e gostaria que saber como você as faz, se possivel é claro.

Indice IDX deixando memória baixa.

Enviado: 24 Ago 2012 21:42
por JoséQuintas
Considerações:

- Que eu me lembre, linqueditar com Blinker sem modo protegido era pior do que com rtlink.

- Exospace e Blinker usam modo diferente: um usa memória expandida e outro memória estendida. É tão diferente que Não dá pra rodar os dois ao mesmo tempo na mesma máquina. O Windows se configura pra o que for carregado, e aí o outro não roda ao mesmo tempo. Não sei se exospace poderia ser uma alternativa

- Nas pastas do blinker tem scripts para reduzir ao máximo o consumo de CPU: CLP520MIN.LNK por exemplo, ou se usar o CDX original do Clipper tem o CDX520.LNK. Também tem getsys e errorsys alternativos que economizam memória

- Li referências na net a gasp52pm.lib, que seria a gaspro52 pra modo protegido

- Não sei se no W7 tem isso, mas existia a opção DOS=HIGH,UMB, pra carregar o DOS na memória extra, e liberar mais memória abaixo dos 640kb.

- Não sei se ainda tenho aqui: cheguei a comprar o RTLINK 7.0. Fica abaixo do blinker modo protegido, mas quem sabe pode ajudar.

Indice IDX deixando memória baixa.

Enviado: 24 Ago 2012 22:04
por JoséQuintas
Achei, até instalou aqui no WIndows 7, mas o EXE (RTLINK) não rodou após instalar.
Não sei se pode ajudar ou atrapalhar.

um dos scripts existentes, pra "virtualizar" clipper.lib e extend.lib é este:

clp520vm.lnk

Código: Selecionar todos

#-------------------------------------------------------------------------
#
# Clipper 5.20 - CLIPPER.LIB & EXTEND.LIB Virtualization
#
# Freeformat Auto-Response File
#
#-------------------------------------------------------------------------

SILENT

#-------------------------------------------------------------------------
# NOTE:  This .LNK file contains comments suggesting some easy modification
#        you can make to optimize for your specific use of the libraries.
#        Before making any changes, copy this file to another name; DO NOT
#        MODIFY THIS FILE!!
#
# NOTE:  Keep in mind that this is a generic link file designed to work
#        reasonably well with most programs. It may need some tweaking to
#	 run best with your program. The notes below on optimizing will help
#	 but again, they're generic tips. Only you can tell what's best for
#	 your program! See the on-line help in the CLIPPER area of
#        CompuServe or the Pocket Soft BBS for more  specific tips.
#        
# OPTIMIZING:  Depending on how you use CLIPPER and EXTEND, you may or may
#              not gain any noticeable speed improvement by making the
#              suggested changes. But one thing is for sure, your root size
#              will increase by making the changes.
#
#              The following is an outline of this .LNK to help you understand
#              it; any capitalized words can be searched for under an editor
#
#              LIBRARY commands
#              RTLink/Plus standard optimization commands
#              
#              ROOT MODULES listing
#                LOCALON      
#                LOCALOFF     
#                LOCALUNKNOWN 
#              
#              VIRTUAL STUFF listing
#                VMBEGINPAGES command
#                  SECTION = "asort"  specific grouping
#                  SECTION = "ldiv"   specific grouping
#                    LOCALON          localons for ldiv
#                    LOCALUNKNOWN     to return to autolocal mode
#              
#                  SEPARATE   command
#                    LOCALON          (OPTIMIZE oppurtunities here)
#                    LOCALOFF         (OPTIMIZE oppurtunities here)
#                    LOCALUNKNOWN     (OPTIMIZE oppurtunities here)
#                VMENDPAGES command
#                
#              Notice the "OPTIMIZE" comments. Search for the word OPTIMIZE
#              and following the instructions. CUT and PASTE the MODULE
#              lines from their SEPARATE location to the proper ROOT MODULE
#              location.
#                
#-------------------------------------------------------------------------

SILENT


LIBRARY CLIPPER,EXTEND,TERMINAL,DBFNTX

MUSTBEVERSION 500.
AUTOBP
BPDESTROYS __syscall

MODULEWARNINGSOFF

VMALWAYS __mac_immed
OKIFUNDEF __mac_immed

TARGETWARNINGSOFF

@CLIP-520.TGT   

TARGETWARNINGSON

VIRTUALIZE CODE
CODECLASS CODE
RESTORETERMINATEADDRESS dbgInit
MODULEWARNINGSOFF

VMJOINREFERENCES __0ERR
VMJOINREFERENCES __dbgcomm

#############################################################################
#
# ROOT MODULES
#
#############################################################################

LOCALON


    MODULE "dos\crt0.asm"
    MODULE "dos\crt0dat.asm"
    MODULE "crt0fp.asm"
    MODULE "dos\crt0msg.asm"
    MODULE "chksum.asm"
    MODULE "..\fltuseda.ASM"
    MODULE "fcall.ASM"
    MODULE "i8tmul.ASM"
    MODULE "i8fin.ASM"
    MODULE "i8fout.ASM"
    MODULE "D:\CC\SUPPORT\DVDUMMY.ASM"
    MODULE "D:\CC\SUPPORT\SQUAWK.ASM"      
    MODULE "D:\CC\ALLOC\OSME.ASM"
    MODULE "lshl.asm"
    MODULE "lshr.asm"
    MODULE "..\flrceil.ASM"
    MODULE "..\fmod.ASM"
    MODULE "..\ctran.ASM"
    MODULE "..\csqrt.ASM"
    MODULE "dos\stdalloc.asm"
    MODULE "dos\wrt2err.asm"
    MODULE "dos\stdenvp.asm"
    MODULE "..\ccall.ASM"
    MODULE "..\ccalle.ASM"
    MODULE "..\cdisp.ASM"
    MODULE "ixcomp.ASM"
    MODULE "ixconv.ASM"
    MODULE "b4math.ASM"
    MODULE "b8math.ASM"
    MODULE "xxtran.ASM"
    MODULE "xxpowr.ASM"
    MODULE "bxsqr.ASM"
    MODULE "xxhelp.ASM"
    MODULE "xxtrhlp.ASM"
    MODULE "xxcomm.ASM"
    MODULE "D:\CC\SUPPORT\DVA.ASM"
    MODULE "dos\nmsghdr.asm"
    MODULE "dos\stdargv.asm"
    MODULE "D:\CC\NUSASCII\NATION.ASM"
    MODULE "D:\CC\SUPPORT\ASUPPORT.ASM"
    MODULE "D:\CC\BASE\WEEDBED.ASM"
    MODULE "almul.asm"
    MODULE "lmul.asm"
    MODULE "ulrem.asm"
    MODULE "uldiv.asm"
    MODULE "D:\CC\SUPPORT\OSDATE.ASM"
    MODULE "D:\CC\ALLOC\OSMEM.ASM"
    MODULE "D:\CC\TERM\INSTD.ASM"
    MODULE "D:\CC\SUPPORT\FILESYS.ASM"
    MODULE "D:\CC\EVENT\EVE.ASM"
    MODULE "D:\CC\DRV\BEEP.ASM"
    MODULE "D:\CC\DRV\DISPIBM.ASM"
    MODULE "D:\CC\DRV\KBDIBM.ASM"


LOCALOFF

    MODULE "D:\CC\PLANKTON\PLANKTON.ASM"
      VMNEVER "_DbgExit"                                
      VMNEVER "_DbgEntry"				
      VMNEVER "__0DO"					
      VMNEVER "__0EQ"					
      VMNEVER "__0LT"					
      VMNEVER "_CoerceNums"				
      VMNEVER "_ErrorCycle"				
      VMNEVER "_ErrorBuild"				
      VMNEVER "__0SAVE_RET"				
      VMNEVER "__0ERR"					
      VMNEVER "__0POP"					
      VMNEVER "PLANKTON.ASM_NONPUB_At__CoerceDnums+23H" 
      VMNEVER "PLANKTON.ASM_NONPUB_At__CoerceDnums+47H"	
      VMNEVER "PLANKTON.ASM_NONPUB_At__CoerceNums+43H"	
      VMNEVER "PLANKTON.ASM_NONPUB_At__CoerceNums+10H"	
    MODULE "D:\CC\INITEXIT\HARDINIT.ASM"
    MODULE "D:\CC\INITEXIT\SYSCALL.ASM"
      VMNEVER   "SYSCALL.ASM_NONPUB_At___syscall+8H"
      OKIFUNDEF "SYSCALL.ASM_NONPUB_At___syscall+8H"
      VMNEVER   "SYSCALL.ASM_NONPUB_At___syscall+AH"
      OKIFUNDEF "SYSCALL.ASM_NONPUB_At___syscall+AH"
    MODULE "D:\CC\ALLOC\VM.C"
    MODULE "D:\CC\EMM\EMMALLOC.ASM"
    MODULE "D:\CC\EMM\EMMCONTX.ASM"
    MODULE "D:\CC\EMM\EMMCOUNT.ASM"
    MODULE "D:\CC\EMM\EMMFREE.ASM"
    MODULE "D:\CC\EMM\EMMINST.ASM"
    MODULE "D:\CC\EMM\EMMMAP.ASM"
    MODULE "D:\CC\EMM\EMMPAGE.ASM"
    MODULE "D:\CC\EMM\EMMREALL.ASM"
    MODULE "D:\CC\EMM\EMMSTAT.ASM"
    MODULE "D:\CC\EMM\EMMVERS.ASM"
    MODULE "D:\CC\BASE\STACK.C"
VMMAXVECON
    MODULE "D:\CC\DBG\DBGINIT.ASM"
VMMAXVECOFF
    MODULE "D:\CC\INITEXIT\INITEXIT.C"
LOCSYM _main
    MODULE "D:\CC\INITEXIT\MAIN.C"
    MODULE "D:\CC\SDF\DLM1.C"
    MODULE "_READVAR"
    MODULE "D:\CC\EVENT\EVENT.C"
    MODULE "D:\CC\DYN\DYNA.ASM"
    MODULE "D:\CC\TERM\GT.C"

###############################
#			      #
# Too small for virtual pages #
#			      #
###############################

    MODULE "D:\CC\SDF\DLM0.C"


LOCALUNKNOWN

    MODULE "D:\CC\MACRO\MACRO.C"
      VMNEVER "__parse_"
      OKIFUNDEF "__parse_"
      VMNEVER "MACRO.C_NONPUB_lexNum"
      OKIFUNDEF "MACRO.C_NONPUB_lexNum"
      VMNEVER "MACRO.C_NONPUB_lex_quote"
      OKIFUNDEF "MACRO.C_NONPUB_lex_quote"
      VMNEVER "MACRO.C_NONPUB_func_token"
      OKIFUNDEF "MACRO.C_NONPUB_func_token"
      VMNEVER "MACRO.C_NONPUB_pop"
      OKIFUNDEF "MACRO.C_NONPUB_pop"
    MODULE "D:\CC\MACRO\MPAR.ASM"
      VMNEVER "__lex_"
      OKIFUNDEF "__lex_"
      VMNEVER "_dostuff"
      OKIFUNDEF "_dostuff"
    MODULE "D:\CC\TERM\MAXROW.C"
    MODULE "D:\CC\DRV\MOUSEIBM.ASM"
      VMNEVER "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:16CH"
      OKIFUNDEF "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:16CH"
      VMNEVER "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:20DH"
      OKIFUNDEF "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:20DH"
      VMNEVER "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:21EH"
      OKIFUNDEF "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:21EH"
      VMNEVER "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:22CH"
      OKIFUNDEF "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:22CH"
      VMNEVER "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:244H"
      OKIFUNDEF "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:244H"
      VMNEVER "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:25EH"
      OKIFUNDEF "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:25EH"
      VMNEVER "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:332H"
      OKIFUNDEF "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:332H"
      VMNEVER "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:349H"
      OKIFUNDEF "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:349H"
      VMNEVER "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:19DH"
      OKIFUNDEF "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:19DH"
      VMNEVER "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:1F5H"
      OKIFUNDEF "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:1F5H"
      VMNEVER "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:325H"
      OKIFUNDEF "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:325H"
      VMNEVER "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:160H"
      OKIFUNDEF "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:160H"
      VMNEVER "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:0H"
      OKIFUNDEF "MOUSEIBM.ASM_NONPUB_At_MOUSE_DRIVER_TEXT:0H"


###############################
#			      #
# Too small for virtual pages #
#			      #
###############################


    MODULE "D:\CC\MACRO\MACROINA.ASM"
    MODULE "D:\CC\RTL\DYNXINA.ASM"
    MODULE "D:\CC\TERM\SETCURS.C"
    MODULE "D:\CC\TERM\TERMINA.ASM"
    MODULE "D:\CC\TERM\GTINA.ASM"
    MODULE "D:\CC\DBCMD\DBCMDINA.ASM"
    MODULE "D:\CC\DISKIO\DIOINA.ASM"
    MODULE "D:\CC\SDF\SDF0.C"
    MODULE "D:\CC\DBF\NTXLOCK1.C"
    MODULE "D:\CC\BASE\ATAIL.C"


VMBEGINPAGES

SECTION = "asort"
    MODULE "D:\CC\BASE\EXACTCMP.C"
    MODULE "D:\CC\ARRAY\ASORT.C"

SECTION = "ldiv"
  LOCALON
    MODULE "aldiv.asm"
    MODULE "ldiv.asm"
  LOCALUNKNOWN

  SEPARATE

    LOCALON

    MODULE "lrem.asm"
    MODULE "..\huge.ASM"  
    MODULE "D:\CC\NUSASCII\SORTBLOC.C"
    MODULE "D:\CC\SUPPORT\GETENV.C"
    MODULE "D:\CC\BASE\STARTSYM.ASM"
    MODULE "D:\CC\SUPPORT\DATE.C"
    MODULE "D:\CC\IMP\VNONE.ASM"
    MODULE "D:\CC\IMP\VOPS.ASM"
    MODULE "D:\CC\IMP\VDB.ASM"
    MODULE "D:\CC\IMP\VMACRO.ASM"
    MODULE "D:\CC\IMP\VPICT.ASM"
    MODULE "D:\CC\IMP\VTERM.ASM"
    MODULE "D:\CC\ALLOC\KMAP.ASM"
    MODULE "D:\CC\ALLOC\SUBAL.ASM"
    MODULE "D:\CC\SUPPORT\DVC.C"
    MODULE "D:\CC\MEMO\LINELEN.C"
    

    LOCALOFF
    
    MODULE "D:\CC\BASE\CALL.C"
    MODULE "D:\CC\DBF\SORTOF.C"
    MODULE "D:\CC\SDF\DELIMDYN.ASM"
    MODULE "D:\CC\SDF\SDFDYN.ASM"
    MODULE "D:\CC\BASE\EXTEND.C"

   ##################################################################    
   #    							    #
   # OPTIMIZE oppurtunity   					    #
   #    							    #
   # a program may be more efficient if remaining LOCALOFF modules  #
   #  are in LOCALOFF area in the root section:			    #
   #    							    #
   ##################################################################

   # Cut entire lines from here   
    MODULE "D:\CC\DISKIO\DISKIO.C"
      VMNEVER "DISKIO.C_NONPUB__diskio_suspend"
      OKIFUNDEF "DISKIO.C_NONPUB__diskio_suspend"
    MODULE "D:\CC\BASE\OM.C"
      VMNEVER "OM.C_NONPUB_GenScavenge"
      OKIFUNDEF "OM.C_NONPUB_GenScavenge"
   # to here. Paste into the LOCALOFF area in root.

    
    LOCALUNKNOWN

    MODULE "dos\hdiff.asm"  
    MODULE "oldhdiff.asm"  
    MODULE "dos\diffhlp.asm"  
    MODULE "..\cfin.ASM"
      VMNEVER "$i8_input"
      OKIFUNDEF "$i8_input"
      VMNEVER "cfin.ASM_NONPUB_At___fltin+13H"
      OKIFUNDEF "cfin.ASM_NONPUB_At___fltin+13H"
    MODULE "..\cfout.ASM"
      VMNEVER "$i8_output"
      OKIFUNDEF "$i8_output"
    MODULE "D:\CC\SUPPORT\TSUPPORT.C"
    MODULE "D:\CC\SUPPORT\TXOPEN.C"
    MODULE "D:\CC\INITEXIT\APPINIT.C"
    MODULE "D:\CC\INITEXIT\APPEXIT.C"
    MODULE "_APPINI"
    MODULE "D:\CC\INITEXIT\RUN.C"
    MODULE "D:\CC\DYN\DYNINA.ASM"
    MODULE "D:\CC\BASE\FGET.C"
    MODULE "D:\CC\BASE\TB.C"
    MODULE "D:\CC\BASE\SET.C"
    MODULE "D:\CC\BASE\ACOPY.C"
    MODULE "D:\CC\BASE\ADEL.C"
    MODULE "D:\CC\BASE\AINS.C"
    MODULE "D:\CC\BASE\MSAVE.C"
    MODULE "D:\CC\BASE\MRELEASE.C"
    MODULE "ERRORSYS"
    MODULE "_CENTURY"
    MODULE "_ERRSYS"
    MODULE "D:\CC\BASE\ERRSYS0.C"
    MODULE "D:\CC\BASE\ERRSYS1.C"
    MODULE "D:\CC\BASE\SEQ.C"
    MODULE "D:\CC\BASE\AEVAL.C"
    MODULE "D:\CC\BASE\VERSION.C"
    MODULE "D:\CC\ALLOC\VMAPIY.C"
    MODULE "D:\CC\ALLOC\VMAPI.C"
      VMNEVER "__memSubInfo"
      OKIFUNDEF "__memSubInfo"
    MODULE "D:\CC\ALLOC\CMEM.C"
    MODULE "D:\CC\ALLOC\MEMORY.C"
    MODULE "D:\CC\MACRO\XMACRO.C"
    MODULE "D:\CC\MACRO\VBLOCK.C"
    MODULE "D:\CC\IMP\VDBG.ASM"
    MODULE "D:\CC\IMP\VALL.ASM"
    MODULE "D:\CC\RTL\DYNAMIC.ASM"
      VMNEVER "DYNAMIC.ASM_NONPUB_At___dyn_fname+47H"
      OKIFUNDEF "DYNAMIC.ASM_NONPUB_At___dyn_fname+47H"
      VMNEVER "DYNAMIC.ASM_NONPUB_At___dyn_fname+14H"
      OKIFUNDEF "DYNAMIC.ASM_NONPUB_At___dyn_fname+14H"
      VMNEVER "DYNAMIC.ASM_NONPUB_At___dyn_getpage+2CH"
      OKIFUNDEF "DYNAMIC.ASM_NONPUB_At___dyn_getpage+2CH"
      VMNEVER "DYNAMIC.ASM_NONPUB_At___dyn_fname+6DH"
      OKIFUNDEF "DYNAMIC.ASM_NONPUB_At___dyn_fname+6DH"
      VMNEVER "DYNAMIC.ASM_NONPUB_At___dyn_fname+58H"
      OKIFUNDEF "DYNAMIC.ASM_NONPUB_At___dyn_fname+58H"
    MODULE "D:\CC\RTL\DYNX.C"
    MODULE "D:\CC\TERM\GTAPI.C"
    MODULE "D:\CC\TERM\GX.C"
    MODULE "D:\CC\TERM\BOX.C"
    MODULE "D:\CC\TERM\OLDCLEAR.C"
    MODULE "D:\CC\TERM\OLDBOX.C"
    MODULE "D:\CC\TERM\TCVT.C"
    MODULE "D:\CC\TERM\SAVEREST.C"
    MODULE "_SAVESCR"
    MODULE "_WAIT"
    MODULE "D:\CC\TERM\ACCEPT.C"
    MODULE "_INPUT"
    MODULE "_SETFUNC"
    MODULE "_SETTA"
    MODULE "_HELPKEY"
    MODULE "D:\CC\TERM\PICT.C"
    MODULE "D:\CC\TERM\GETS0.C"
    MODULE "D:\CC\TERM\GETS1.C"
    MODULE "D:\CC\TERM\GETS2.C"
      VMNEVER "GETS2.C_NONPUB_PictUntran"
      OKIFUNDEF "GETS2.C_NONPUB_PictUntran"
    MODULE "_GETMSG"
    MODULE "_GETSYS"
    MODULE "_ATPROMP"
    MODULE "_TEXT"
    MODULE "D:\CC\ITEM\ITEMAPI.C"
    MODULE "_RDDORD"
    MODULE "D:\CC\DBCMD\RDDORD.C"
    MODULE "D:\CC\DBCMD\RDDSVR.C"
    MODULE "D:\CC\DBCMD\DBCMD0.C"
    MODULE "D:\CC\DBCMD\DBCMD1.C"
    MODULE "D:\CC\DBCMD\DBCMD2.C"
    MODULE "D:\CC\DBCMD\DBCMD3.C"
    MODULE "D:\CC\DBCMD\DBCMD4.C"
    MODULE "D:\CC\DBCMD\DBCMD5.C"
    MODULE "D:\CC\DBCMD\LUPDATE.C"
    MODULE "D:\CC\DBCMD\DBJUNCT.C"
    MODULE "D:\CC\DBCMD\WORKAREA.C"
    MODULE "D:\CC\DBCMD\DBSTRUCT.C"
    MODULE "D:\CC\DBCMD\DBCREATE.C"
    MODULE "D:\CC\DBCMD\JOINLIST.C"
    MODULE "_DBLOCAT"
    MODULE "_DBSTRUX"
    MODULE "_DBCOPY"
    MODULE "_DBJOIN"
    MODULE "_DBSORT"
    MODULE "_DBTOTAL"
    MODULE "_DBUPDAT"
    MODULE "_FLEDIT"
    MODULE "_AFIELDS"
    MODULE "_DBLIST"
    MODULE "D:\CC\DBF\DBF0.C"
    MODULE "D:\CC\DBF\DBFDYN.ASM"
    MODULE "_DBF"
    MODULE "D:\CC\DBF\NET.C"
    MODULE "_DBSDF"
    MODULE "D:\CC\SDF\SDF1.C"
    MODULE "_DBDELIM"
    MODULE "_SDF"
    MODULE "_DELIM"
    MODULE "D:\CC\MISCX\PHILES.C"
    MODULE "D:\CC\DBG\DBGAPI.C"
    MODULE "D:\CC\DBG\DBGSHADO.C"
      VMNEVER "DBGSHADO.C_NONPUB__dbgShadow"
      OKIFUNDEF "DBGSHADO.C_NONPUB__dbgShadow"
      VMNEVER "DBGSHADO.C_NONPUB_dbgRevForeAttr"
      OKIFUNDEF "DBGSHADO.C_NONPUB_dbgRevForeAttr"
    MODULE "_DBGMENU"
    MODULE "_DBGINSP"
    MODULE "_DBFLIST"
    MODULE "_DBGHELP"
    MODULE "_DBGBROW"
    MODULE "D:\CC\MISCX\GETE.C"
    MODULE "D:\CC\MISCX\DISKSPAC.C"
    MODULE "_DIR"
    MODULE "D:\CC\MISCX\COPYFILE.C"
    MODULE "D:\CC\MISCX\TYPEFILE.C"
    MODULE "D:\CC\MISCX\EXAMPLEA.ASM"
      VMNEVER "EXAMPLEA.ASM_NONPUB_At_ISPRINTER+2AH"
      OKIFUNDEF "EXAMPLEA.ASM_NONPUB_At_ISPRINTER+2AH"
    MODULE "_BROWSE"
    MODULE "D:\CC\STR\ALLTRIM.C"
    MODULE "D:\CC\STR\RIGHT.C"
    MODULE "D:\CC\STR\DESCEND.C"
    MODULE "D:\CC\STR\RAT.C"
    MODULE "D:\CC\STR\PADL.C"
    MODULE "D:\CC\STR\PADR.C"
    MODULE "D:\CC\STR\PADC.C"
    MODULE "D:\CC\STR\IS.C"
    MODULE "D:\CC\STR\STRTRAN.C"
    MODULE "D:\CC\STR\STUFF.C"
    MODULE "D:\CC\MEMO\HARDCR.C"
    MODULE "D:\CC\MEMO\MEMOREAD.C"
    MODULE "D:\CC\MEMO\MEMOWRIT.C"
    MODULE "D:\CC\MEMO\MEMOTRAN.C"
    MODULE "D:\CC\MEMO\MEMOLINE.C"
    MODULE "D:\CC\MEMO\MLCOUNT.C"
    MODULE "D:\CC\MEMO\MLPOS.C"
    MODULE "D:\CC\MEMO\MLCTOPOS.C"
    MODULE "D:\CC\ARRAY\ASCAN.C"
    MODULE "_ARRAY"
    MODULE "_DEFPATH"
    MODULE "_ADIR"
    MODULE "_FRMBACK"
    MODULE "_FRMRUN"
    MODULE "_LBLBACK"
    MODULE "_LBLRUN"
    MODULE "D:\CC\ARRAY\DIRECT.C"
    MODULE "D:\CC\EDIT\TBROWSE0.C"
    MODULE "_TBROWSE"
    MODULE "_TBRDB"
    MODULE "_DBEDIT"
    MODULE "D:\CC\EDIT\ACHOICE.C"
      VMNEVER "DTX1.C_NONPUB__icreate"
      OKIFUNDEF "DTX1.C_NONPUB__icreate"
      VMNEVER "DTX1.C_NONPUB__ntxWriteLock"
      OKIFUNDEF "DTX1.C_NONPUB__ntxWriteLock"
      VMNEVER "DTX1.C_NONPUB__ntxWriteUnlock"
      OKIFUNDEF "DTX1.C_NONPUB__ntxWriteUnlock"
      VMNEVER "DTX1.C_NONPUB__dtxLockError"
      OKIFUNDEF "DTX1.C_NONPUB__dtxLockError"
      VMNEVER "DTX1.C_NONPUB__dtxCondClear"
      OKIFUNDEF "DTX1.C_NONPUB__dtxCondClear"
      VMNEVER "DTX1.C_NONPUB_DoError"
      OKIFUNDEF "DTX1.C_NONPUB_DoError"
      VMNEVER "DTX1.C_NONPUB__cond_create"
      OKIFUNDEF "DTX1.C_NONPUB__cond_create"
    MODULE "D:\CC\DBF\DTX0.C"
    MODULE "D:\CC\DBF\DTXDYN.ASM"
    MODULE "NTXERR"
    MODULE "D:\CC\DBF\BRIG.C"
    MODULE "_DBFNTX"
    MODULE "D:\CC\DYN\DYNC.C"
    MODULE "D:\CC\INITEXIT\UPREF.C"
    MODULE "D:\CC\TERM\OUTSTD.C"
    MODULE "D:\CC\DBCMD\DBNUBS.ASM"
    MODULE "D:\CC\TERM\SCROLL.C"
    MODULE "D:\CC\STR\PAD.C"


    ##################################################################
    #    							     #
    # OPTIMIZE oppurtunity   					     #
    #    							     #
    # a program may be more efficient if remaining modules are in    #
    #  LOCALUNKNOWN area in the root section:			     #
    #    							     #
    ##################################################################

    # Cut entire lines from here   

    MODULE "D:\CC\TERM\TERM.C"
    MODULE "D:\CC\DBF\DBF1.C"
    MODULE "D:\CC\DBF\DTX1.C"
    MODULE "D:\CC\BASE\OPS.C"

    # to here. Paste into the LOCALUNKNOWN area in root.
    

    #If that's not enough, try pasting these modules into 
    #the LOCAUNKNOWN are in root as well. Try the ones above first, though.

    
    MODULE "D:\CC\EDIT\MEMOEDIT.C"
    MODULE "D:\CC\BASE\SYMSYS.C"
    MODULE "D:\CC\ALLOC\ALLOC.C"
    MODULE "D:\CC\BASE\SEND.C"
    MODULE "D:\CC\BASE\FIELD.C"
    MODULE "D:\CC\TERM\COLOR.C"
    MODULE "D:\CC\EDIT\TBROWSE1.C"
       

VMENDPAGES


MODULEWARNINGSON

e nesse faz referência a este: clip-520.tgt

Código: Selecionar todos

#--------------------------------------------------------------------------
#       VMTARGET Utility automatically generated auto-response file
#--------------------------------------------------------------------------

CALLTARGET "ACHOICE"
CALLTARGET "ADEL"
CALLTARGET "ADIR"
CALLTARGET "AEVAL"
CALLTARGET "AFIELDS"
CALLTARGET "AFILL"
CALLTARGET "AFULL"
CALLTARGET "ALL_FIELDS"
CALLTARGET "APPE_TITLE"
CALLTARGET "ARRAY"
CALLTARGET "ARRAY_DEL"
CALLTARGET "ARRAY_DIR"
CALLTARGET "ARRAY_SORT"
CALLTARGET "ASCAN"
CALLTARGET "ASEEK"
CALLTARGET "ASORT"
CALLTARGET "BAR_FUNC"
CALLTARGET "BAR_MENU"
CALLTARGET "BLINE"
CALLTARGET "BOX_TITLE"
CALLTARGET "BROWSE"
CALLTARGET "CAN_BUTTON"
CALLTARGET "CAPPREP"
CALLTARGET "CHANNEL"
CALLTARGET "CLEARGETSY(2BFH)"
CALLTARGET "CLEARGETSY(69H)"
CALLTARGET "CLEARGETSY(89H)"
CALLTARGET "CLEARMESSA(2CH)"
CALLTARGET "CLEAR_DBF"
CALLTARGET "CLEAR_GETS"
CALLTARGET "CLIPINIT$(283H)"
CALLTARGET "CLIPINIT$(28H)"
CALLTARGET "CLIPINIT$(49H)"
CALLTARGET "COPYFILE(20H)"
CALLTARGET "CREATESCRE(10H)"
CALLTARGET "CURDIR"
CALLTARGET "DBAPPEND"
CALLTARGET "DBCLEARREL"
CALLTARGET "DBCLOSEALL"
CALLTARGET "DBCLOSEARE"
CALLTARGET "DBCOMMITAL"
CALLTARGET "DBCREATE"
CALLTARGET "DBEVAL"
CALLTARGET "DBFINIT$(12DH)"
CALLTARGET "DBFINIT$(353H)"
CALLTARGET "DBFNTXINI$(120H)"
CALLTARGET "DBFNTXINI$(34DH)"
CALLTARGET "DBGOTO"
CALLTARGET "DBGOTOP"
CALLTARGET "DBSELECTAR"
CALLTARGET "DBSKIP"
CALLTARGET "DBSTRUCT"
CALLTARGET "DBU"
CALLTARGET "DBUNLOCK"
CALLTARGET "DBUSEAREA"
CALLTARGET "DEFPATH"
CALLTARGET "DEHI_CUR"
CALLTARGET "DELETEFILE(22H)"
CALLTARGET "DELIMINIT$(311H)"
CALLTARGET "DEVOUT"
CALLTARGET "DIM_FKEY"
CALLTARGET "DIRECTORY"
CALLTARGET "DISPBEGIN"
CALLTARGET "DISPBOX"
CALLTARGET "DISPEND"
CALLTARGET "DISPLAYHEL"
CALLTARGET "DISPLAYMEN(1CH)"
CALLTARGET "DOEDITING"
CALLTARGET "DOGET(219H)"
CALLTARGET "DOPEN_TITL"
CALLTARGET "DO_CREAVEW"
CALLTARGET "DO_FSEL"
CALLTARGET "DO_OPENDBF"
CALLTARGET "DO_OPENVEW"
CALLTARGET "DRAW_VIEW"
CALLTARGET "D_COPY"
CALLTARGET "EDITWRITE"
CALLTARGET "EMPTYFILE(21EH)"
CALLTARGET "ENTER_RC"
CALLTARGET "ERRORBLOCK"
CALLTARGET "ERRORSYS"
CALLTARGET "ERROR_MSG"
CALLTARGET "ERROR_OFF"
CALLTARGET "EXITKEY(232H)"
CALLTARGET "FCLOSE"
CALLTARGET "FERASE"
CALLTARGET "FERROR"
CALLTARGET "FIELDLIST"
CALLTARGET "FIELDWBLOC"
CALLTARGET "FILE"
CALLTARGET "FILEBOX"
CALLTARGET "FILELIST"
CALLTARGET "FILEMAN"
CALLTARGET "FOPEN"
CALLTARGET "FOR_EXP"
CALLTARGET "FREAD"
CALLTARGET "FRENAME"
CALLTARGET "FRESHORDER(201H)"
CALLTARGET "FSEEK"
CALLTARGET "FSEL_TITLE"
CALLTARGET "GENERICVIE(38H)"
CALLTARGET "GENFIELD"
CALLTARGET "GETACTIVE"
CALLTARGET "GETAPPLYKE"
CALLTARGET "GETDOSETKE"
CALLTARGET "GETFIELD"
CALLTARGET "GETFILE"
CALLTARGET "GETFILEEXT(36H)"
CALLTARGET "GETFILES(11H)"
CALLTARGET "GETNEW"
CALLTARGET "GETPOSTVAL"
CALLTARGET "GETPREVALI"
CALLTARGET "GETREADER"
CALLTARGET "GETREADVAR(2E0H)"
CALLTARGET "GETREADVAR(91H)"
CALLTARGET "GETREADVAR(B0H)"
CALLTARGET "GET_EXP"
CALLTARGET "GET_FIELD"
CALLTARGET "GET_LINE"
CALLTARGET "G_GETFILE"
CALLTARGET "HELPTEXT"
CALLTARGET "HI_CUR"
CALLTARGET "INDEXEXT"
CALLTARGET "INDEXKEY"
CALLTARGET "INITHANDL$(11DH)"
CALLTARGET "INITHANDL$(34AH)"
CALLTARGET "ISCOLOR"
CALLTARGET "ISDATA"
CALLTARGET "ITEMLIST"
CALLTARGET "I_FUNC"
CALLTARGET "KEY_READY"
CALLTARGET "LASTKEY"
CALLTARGET "LIST_ARRAY"
CALLTARGET "LITE_FKEY"
CALLTARGET "LOADFILES(14H)"
CALLTARGET "LOOKATFILE(1FH)"
CALLTARGET "MACROINA.ASM_NONPUB_At__TEXT:0H"
CALLTARGET "MAIN"
CALLTARGET "MAKEALIAS"
CALLTARGET "MATRIX"
CALLTARGET "MAXCOL"
CALLTARGET "MAXROW"
CALLTARGET "MEMOEDIT"
CALLTARGET "MEMOREAD"
CALLTARGET "MEMOUDF"
CALLTARGET "MEMOWRIT"
CALLTARGET "MENU_KEY"
CALLTARGET "MESSAGE(16H)"
CALLTARGET "MLCTOPOS"
CALLTARGET "MODI_STRU"
CALLTARGET "MPOSTOLC"
CALLTARGET "MSG"
CALLTARGET "MULTIBOX"
CALLTARGET "MU_FUNC"
CALLTARGET "NAME"
CALLTARGET "NETAPPBLAN"
CALLTARGET "NETERR"
CALLTARGET "NETMODE"
CALLTARGET "NETPACK"
CALLTARGET "NETRLOCK"
CALLTARGET "NETUSE"
CALLTARGET "NETZAP"
CALLTARGET "NEWNAME"
CALLTARGET "NEXTKEY"
CALLTARGET "OK_BUTTON"
CALLTARGET "OM.C_NONPUB_OmReceiver"
CALLTARGET "OPEN_DBF"
CALLTARGET "ORDBAGEXT"
CALLTARGET "ORDKEY"
CALLTARGET "PAD"
CALLTARGET "PADR"
CALLTARGET "PARSECOMML"
CALLTARGET "PE"
CALLTARGET "PEXIT"
CALLTARGET "POSTACTIVE(2C1H)"
CALLTARGET "POSTACTIVE(6BH)"
CALLTARGET "POSTACTIVE(8BH)"
CALLTARGET "PRINTFILE(23H)"
CALLTARGET "PROCESSKEY"
CALLTARGET "PROCLINE"
CALLTARGET "PROCNAME"
CALLTARGET "PROMPT"
CALLTARGET "PUT_LINE"
CALLTARGET "QQOUT"
CALLTARGET "Q_CHECK"
CALLTARGET "RAT"
CALLTARGET "RAW_KEY"
CALLTARGET "RDDINIT$(313H)"
CALLTARGET "RDDINIT$(BFH)"
CALLTARGET "RDDREGISTE"
CALLTARGET "RDDSETDEFA"
CALLTARGET "READEXIT"
CALLTARGET "READINSERT"
CALLTARGET "READMODAL"
CALLTARGET "READVAR"
CALLTARGET "READ_KEY"
CALLTARGET "RENAMEFILE(21H)"
CALLTARGET "RESTOREGET(2C4H)"
CALLTARGET "RESTOREGET(6EH)"
CALLTARGET "RESTOREGET(8EH)"
CALLTARGET "RESTSCREEN"
CALLTARGET "RIGHT"
CALLTARGET "RSVP"
CALLTARGET "SAVESCREEN"
CALLTARGET "SAVE_VIEW"
CALLTARGET "SCOPE_NUM"
CALLTARGET "SCROLL"
CALLTARGET "SDFINIT$(30EH)"
CALLTARGET "SEARCH"
CALLTARGET "SEARCHAGAI"
CALLTARGET "SET"
CALLTARGET "SETCOLOR"
CALLTARGET "SETCURSOR"
CALLTARGET "SETKEY"
CALLTARGET "SETTLE(2C0H)"
CALLTARGET "SETTLE(6AH)"
CALLTARGET "SETTLE(8AH)"
CALLTARGET "SETUP"
CALLTARGET "SET_DEFLT"
CALLTARGET "SET_FROM"
CALLTARGET "SET_VIEW"
CALLTARGET "SHOWSCOREB(2CFH)"
CALLTARGET "SHOWSCOREB(79H)"
CALLTARGET "SHOWSCOREB(99H)"
CALLTARGET "SHOW_INSER(21DH)"
CALLTARGET "SHOW_KEYS"
CALLTARGET "SKIPPED(1F3H)"
CALLTARGET "SRC_GETFIL"
CALLTARGET "STATICS$(280H)"
CALLTARGET "STATICS$(296H)"
CALLTARGET "STATICS$(2BEH)"
CALLTARGET "STATICS$(2EAH)"
CALLTARGET "STATICS$(3H)"
CALLTARGET "STATICS$(67H)"
CALLTARGET "STATICS$(7H)"
CALLTARGET "STATICS$(87H)"
CALLTARGET "STATICS$(9FH)"
CALLTARGET "STATICS$(BEH)"
CALLTARGET "STATICS$(FDH)"
CALLTARGET "STATLINE(1FFH)"
CALLTARGET "STATMSG"
CALLTARGET "STAT_MSG"
CALLTARGET "STRTRAN"
CALLTARGET "STRU_ITEM"
CALLTARGET "STRU_ROW"
CALLTARGET "SYSHELP"
CALLTARGET "SYSMENU"
CALLTARGET "TABDISPLAY(34H)"
CALLTARGET "TABNEW(33H)"
CALLTARGET "TABUPDATE(1AH)"
CALLTARGET "TBCOLUMNNE"
CALLTARGET "TBROWSEDB"
CALLTARGET "TBROWSENEW"
CALLTARGET "TOG_DELIM"
CALLTARGET "TOG_SDF"
CALLTARGET "TONE"
CALLTARGET "TO_OK"
CALLTARGET "UFUNC"
CALLTARGET "USED"
CALLTARGET "VCREA_TITL"
CALLTARGET "VOPEN_TITL"
CALLTARGET "WHILE_EXP"
CALLTARGET "WORKAREA.C_NONPUB_waAddField"
CALLTARGET "WORKAREA.C_NONPUB_waClearFilter"
CALLTARGET "WORKAREA.C_NONPUB_waClearLocate"
CALLTARGET "WORKAREA.C_NONPUB_waClearRel"
CALLTARGET "WORKAREA.C_NONPUB_waClose"
CALLTARGET "WORKAREA.C_NONPUB_waDbEval"
CALLTARGET "WORKAREA.C_NONPUB_waEvalBlock"
CALLTARGET "WORKAREA.C_NONPUB_waFieldCount"
CALLTARGET "WORKAREA.C_NONPUB_waFieldName"
CALLTARGET "WORKAREA.C_NONPUB_waNew"
CALLTARGET "WORKAREA.C_NONPUB_waOpen"
CALLTARGET "WORKAREA.C_NONPUB_waRelease"
CALLTARGET "WORKAREA.C_NONPUB_waSetFieldExtent"
CALLTARGET "WORKAREA.C_NONPUB_waSkip"
CALLTARGET "WORKAREA.C_NONPUB_waSkipFilter"
CALLTARGET "XKEY_CLEAR"
CALLTARGET "XKEY_NORM"
CALLTARGET "XSEARCH"
CALLTARGET "YESORNO(17H)"
CALLTARGET "_ARRAYNEW"
CALLTARGET "_BLOCKNEW"
CALLTARGET "_BYTESNEW"
CALLTARGET "_BYTESNEW2"
CALLTARGET "_CParse"
CALLTARGET "_CSCANCHECK"
CALLTARGET "_DBFINIT"
CALLTARGET "_DTXINIT"
CALLTARGET "_DisplayTheGET"
CALLTARGET "_EINSTVAR"
CALLTARGET "_GetGETContext"
CALLTARGET "_OSTRDUP"
CALLTARGET "_SetGETContext"
CALLTARGET "_VARRAY"
CALLTARGET "_VARRAYLEN"
CALLTARGET "_VARRAYX"
CALLTARGET "_VSTR"
CALLTARGET "_VSTR2"
CALLTARGET "_VSTRCOLD"
CALLTARGET "_VSTRLOCK"
CALLTARGET "_VSTRUNLOCK"
CALLTARGET "_VSTRX"
JUMPTARGET "__0ARRAYAT"
JUMPTARGET "__0ARRAYATI"
JUMPTARGET "__0ARRAYPUT"
JUMPTARGET "__0ARRAYPUTI"
JUMPTARGET "__0BEGIN_SEQ"
JUMPTARGET "__0DEC"
JUMPTARGET "__0DIVIDE"
JUMPTARGET "__0DOOP"
JUMPTARGET "__0EEQ"
JUMPTARGET "__0ENDPROC"
JUMPTARGET "__0END_SEQ"
JUMPTARGET "__0EVENTS"
JUMPTARGET "__0FALSE"
JUMPTARGET "__0FRAME"
JUMPTARGET "__0FUNC"
JUMPTARGET "__0GE"
JUMPTARGET "__0GT"
JUMPTARGET "__0INC"
JUMPTARGET "__0JF"
JUMPTARGET "__0JFPT"
JUMPTARGET "__0JISW"
JUMPTARGET "__0JMP"
JUMPTARGET "__0JNEI"
JUMPTARGET "__0JT"
JUMPTARGET "__0JTPF"
JUMPTARGET "__0LE"
JUMPTARGET "__0LINE"
JUMPTARGET "__0MAKEA"
JUMPTARGET "__0MAKELA"
JUMPTARGET "__0MINUS"
JUMPTARGET "__0MPOPQF"
JUMPTARGET "__0MPUSHM"
JUMPTARGET "__0MPUSHQF"
JUMPTARGET "__0MPUSHV"
JUMPTARGET "__0MSYMF"
JUMPTARGET "__0MULT"
JUMPTARGET "__0NE"
JUMPTARGET "__0NEGATE"
JUMPTARGET "__0NOP"
JUMPTARGET "__0NOT"
JUMPTARGET "__0NULL"
JUMPTARGET "__0ONE1"
JUMPTARGET "__0PARAMS"
JUMPTARGET "__0PCOUNT"
JUMPTARGET "__0PLUS"
JUMPTARGET "__0POPF"
JUMPTARGET "__0POPFL"
JUMPTARGET "__0POPL"
JUMPTARGET "__0POPM"
JUMPTARGET "__0POPS"
JUMPTARGET "__0PRIVATES"
JUMPTARGET "__0PUBLICS"
JUMPTARGET "__0PUSHBL"
JUMPTARGET "__0PUSHC"
JUMPTARGET "__0PUSHF"
JUMPTARGET "__0PUSHFL"
JUMPTARGET "__0PUSHI"
JUMPTARGET "__0PUSHL"
JUMPTARGET "__0PUSHLR"
JUMPTARGET "__0PUSHM"
JUMPTARGET "__0PUSHN"
JUMPTARGET "__0PUSHP"
JUMPTARGET "__0PUSHS"
JUMPTARGET "__0PUSHV"
JUMPTARGET "__0PUSHW"
JUMPTARGET "__0QSELF"
JUMPTARGET "__0SEND"
JUMPTARGET "__0SFRAME"
JUMPTARGET "__0SINIT"
JUMPTARGET "__0SYMBOL"
JUMPTARGET "__0SYMF"
JUMPTARGET "__0TRUE"
JUMPTARGET "__0UNDEF"
JUMPTARGET "__0XBLOCK"
JUMPTARGET "__0ZER0"
JUMPTARGET "__0ZZBLOCK"
CALLTARGET "__AADD"
CALLTARGET "__ASC"
CALLTARGET "__AT"
CALLTARGET "__AllocF"
CALLTARGET "__BOF"
CALLTARGET "__CHR"
CALLTARGET "__COL"
CALLTARGET "__COPYFILE"
CALLTARGET "__CSETBLOC"
CALLTARGET "__CycleF"
CALLTARGET "__DBCOPYXS"
CALLTARGET "__DBCREATE"
CALLTARGET "__DBFGETFUNCTABLE"
CALLTARGET "__DBPACK"
CALLTARGET "__DBZAP"
CALLTARGET "__DEFPATH"
CALLTARGET "__DELETED"
CALLTARGET "__DEVPOS"
CALLTARGET "__DTOC"
CALLTARGET "__DTXGETFUNCTABLE"
CALLTARGET "__DTXWEP"
CALLTARGET "__EMPTY"
CALLTARGET "__EOF"
CALLTARGET "__FCOUNT"
CALLTARGET "__FSELECT0"
CALLTARGET "__GET"
CALLTARGET "__GETASSIG"
CALLTARGET "__GETBACKS"
CALLTARGET "__GETBADDA"
CALLTARGET "__GETCHANG"
CALLTARGET "__GETDISPL"
CALLTARGET "__GETEND"
CALLTARGET "__GETKILLF"
CALLTARGET "__GETLEFT"
CALLTARGET "__GETOVERS"
CALLTARGET "__GETRESET"
CALLTARGET "__GETSETCH"
CALLTARGET "__GETSETCO"
CALLTARGET "__GETSETCS"
CALLTARGET "__GETSETEX"
CALLTARGET "__GETSETFO"
CALLTARGET "__GETSETNA"
CALLTARGET "__GETSETPB"
CALLTARGET "__GETSETPR"
CALLTARGET "__GETSETRE"
CALLTARGET "__GETSETRO"
CALLTARGET "__GETSETSU"
CALLTARGET "__GETTYPE"
CALLTARGET "__GETTYPEO"
CALLTARGET "__GETUNDO"
CALLTARGET "__GETUPDAT"
CALLTARGET "__GETVARGE"
CALLTARGET "__GETVARPU"
CALLTARGET "__GetSetup"
CALLTARGET "__INKEY0"
CALLTARGET "__INKEY1"
CALLTARGET "__INSTR"
CALLTARGET "__INT"
CALLTARGET "__KEYBOARD"
CALLTARGET "__KILLREAD"
CALLTARGET "__LASTREC"
CALLTARGET "__LEFT"
CALLTARGET "__LEN"
CALLTARGET "__LOCK"
CALLTARGET "__LOWER"
CALLTARGET "__LTRIM"
CALLTARGET "__MIN"
CALLTARGET "__PictLiteral"
CALLTARGET "__QUIT"
CALLTARGET "__RECNO"
CALLTARGET "__REPLICATE"
CALLTARGET "__ROUND"
CALLTARGET "__ROW"
CALLTARGET "__RUN"
CALLTARGET "__SECONDS"
CALLTARGET "__SETPOS"
CALLTARGET "__SETPOSBS"
CALLTARGET "__SPACE"
CALLTARGET "__STR1"
CALLTARGET "__STR2"
CALLTARGET "__SUB2"
CALLTARGET "__SUB3"
CALLTARGET "__TADDCOLU"
CALLTARGET "__TBBANG"
CALLTARGET "__TCOLUMN"
CALLTARGET "__TCURSCOL"
CALLTARGET "__TDOWN"
CALLTARGET "__TEBANG"
CALLTARGET "__TFORCEST"
CALLTARGET "__TLEFT"
CALLTARGET "__TLINEFRE"
CALLTARGET "__TOGET"
CALLTARGET "__TOTBCOLU"
CALLTARGET "__TOTBROWS"
CALLTARGET "__TREFRESH"
CALLTARGET "__TRIGHT"
CALLTARGET "__TRIM"
CALLTARGET "__TSETAUTO"
CALLTARGET "__TSETBBAN"
CALLTARGET "__TSETBOTT"
CALLTARGET "__TSETCOLS"
CALLTARGET "__TSETCONF"
CALLTARGET "__TSETCURC"
CALLTARGET "__TSETEBAN"
CALLTARGET "__TSETFOOT"
CALLTARGET "__TSETFREE"
CALLTARGET "__TSETHEAD"
CALLTARGET "__TSETRBOT"
CALLTARGET "__TSETRLEF"
CALLTARGET "__TSETRRIG"
CALLTARGET "__TSETRTOP"
CALLTARGET "__TSETSKIP"
CALLTARGET "__TSETTOP"
CALLTARGET "__TSTABILI"
CALLTARGET "__TUP"
CALLTARGET "__UPPER"
CALLTARGET "__VAL"
CALLTARGET "__VALTYPE"
CALLTARGET "__VDict"
CALLTARGET "__VSetDict"
CALLTARGET "__WAVEL_"
CALLTARGET "__XRESTSCR"
CALLTARGET "__XSAVESCR"
CALLTARGET "__aFldiv"
CALLTARGET "__appExit"
CALLTARGET "__appInitRegister"
CALLTARGET "__appMain"
CALLTARGET "__cAt"
CALLTARGET "__cAtAt"
CALLTARGET "__cAtPut"
CALLTARGET "__cAtPutStr"
CALLTARGET "__cResize"
CALLTARGET "__chk_sym"
CALLTARGET "__dDMYToDate"
CALLTARGET "__dDateToAlphaDBF"
CALLTARGET "__dDateToAlphaFmt"
CALLTARGET "__dSetEpoch"
CALLTARGET "__dSetFmt"
CALLTARGET "__dSysDate"
CALLTARGET "__dbUnloadAll"
CALLTARGET "__dbcmdSLR"
CALLTARGET "__dbcmdhook"
CALLTARGET "__dbfAddField"
CALLTARGET "__dbfAppend"
CALLTARGET "__dbfBof"
CALLTARGET "__dbfClose"
CALLTARGET "__dbfCreate"
CALLTARGET "__dbfDeleted"
CALLTARGET "__dbfEof"
CALLTARGET "__dbfFlush"
CALLTARGET "__dbfGetValue"
CALLTARGET "__dbfGoCold"
CALLTARGET "__dbfGoHot"
CALLTARGET "__dbfGoTop"
CALLTARGET "__dbfGoto"
CALLTARGET "__dbfLock"
CALLTARGET "__dbfNew"
CALLTARGET "__dbfOpen"
CALLTARGET "__dbfPack"
CALLTARGET "__dbfPutValue"
CALLTARGET "__dbfReccount"
CALLTARGET "__dbfRecno"
CALLTARGET "__dbfSetFieldExtent"
CALLTARGET "__dbfSkip"
CALLTARGET "__dbfSkipRaw"
CALLTARGET "__dbfStructSize"
CALLTARGET "__dbfUnlock"
CALLTARGET "__dbfZap"
CALLTARGET "__defDriver"
CALLTARGET "__diskioSLR"
CALLTARGET "__diskiohook"
CALLTARGET "__dtxClose"
CALLTARGET "__dtxFlush"
CALLTARGET "__dtxGoCold"
CALLTARGET "__dtxGoHot"
CALLTARGET "__dtxGoTop"
CALLTARGET "__dtxGotoId"
CALLTARGET "__dtxNew"
CALLTARGET "__dtxOrderInfo"
CALLTARGET "__dtxPack"
CALLTARGET "__dtxSkipRaw"
CALLTARGET "__dtxZap"
CALLTARGET "__dveqz"
CALLTARGET "__dvgt"
CALLTARGET "__dvint"
CALLTARGET "__dvlt"
CALLTARGET "__dvltz"
CALLTARGET "__dvne"
CALLTARGET "__dvrnd"
CALLTARGET "__dynFreeModule"
CALLTARGET "__dynGetNamedAddr"
CALLTARGET "__dynLoadModule"
CALLTARGET "__dyn_fname"
CALLTARGET "__dyn_getnbrpages"
CALLTARGET "__dyn_getpage"
CALLTARGET "__dyn_init"
CALLTARGET "__dyn_release"
CALLTARGET "__dynini"
CALLTARGET "__dynxSLR"
CALLTARGET "__dynx_read"
CALLTARGET "__dynxhook"
CALLTARGET "__evStrobe"
CALLTARGET "__exactcmp"
CALLTARGET "__fcheck"
CALLTARGET "__get_sym"
CALLTARGET "__getenv"
CALLTARGET "__gtFlushCursor"
CALLTARGET "__gtIsColor"
CALLTARGET "__gtMaxCol"
CALLTARGET "__gtMaxRow"
CALLTARGET "__gtPreExt"
CALLTARGET "__gthook"
CALLTARGET "__iarrayat"
CALLTARGET "__iarrayput"
CALLTARGET "__ibeginseq"
CALLTARGET "__iendseq"
CALLTARGET "__imakea"
CALLTARGET "__imakela"
CALLTARGET "__ipopf"
CALLTARGET "__ipopqf"
CALLTARGET "__ipushf"
CALLTARGET "__ipushqf"
CALLTARGET "__ipushv"
CALLTARGET "__isRdd"
CALLTARGET "__isendp"
CALLTARGET "__itemPutC"
CALLTARGET "__itemPutCL"
CALLTARGET "__kmapClear"
CALLTARGET "__kmapScan"
CALLTARGET "__kmapSet"
CALLTARGET "__mac_immed"
CALLTARGET "__mdAdd"
CALLTARGET "__mdAssociate"
CALLTARGET "__mdCreate"
CALLTARGET "__memSubAlloc"
CALLTARGET "__memSubAllocFirst"
CALLTARGET "__memSubEmpty"
CALLTARGET "__memSubExtent"
CALLTARGET "__memSubFree"
CALLTARGET "__memSubInit"
CALLTARGET "__memSubReinit"
CALLTARGET "__modal_key"
CALLTARGET "__netalck"
CALLTARGET "__netaunl"
CALLTARGET "__netrlck"
CALLTARGET "__netrunl"
CALLTARGET "__om_init"
CALLTARGET "__outini"
CALLTARGET "__page_flush"
CALLTARGET "__page_readlock"
CALLTARGET "__page_unlock"
CALLTARGET "__parinfo"
CALLTARGET "__parni"
CALLTARGET "__plank_init"
CALLTARGET "__rddDisinherit"
CALLTARGET "__rddInherit"
CALLTARGET "__rddServerShutdown"
CALLTARGET "__ret"
CALLTARGET "__retni"
CALLTARGET "__retnl"
CALLTARGET "__sTrimToUpper"
CALLTARGET "__scan_filename"
CALLTARGET "__seqReg"
CALLTARGET "__sym_init"
CALLTARGET "__sysLevel"
CALLTARGET "__tcvt"
CALLTARGET "__termSLR"
CALLTARGET "__termhook"
CALLTARGET "__txopen"
CALLTARGET "__upref"
CALLTARGET "__vmacro"
CALLTARGET "__xSetCursor"
CALLTARGET "__xTbrSetup"
CALLTARGET "__xeq"
CALLTARGET "__xfree"
CALLTARGET "__xftableDiscardPtr"
CALLTARGET "__xftableGetPtr"
CALLTARGET "__xlt"
CALLTARGET "__xpage_read"
CALLTARGET "__xpage_update"
CALLTARGET "__xselect"
CALLTARGET "__xtran"
CALLTARGET "__ytran"
CALLTARGET "__ztran"
CALLTARGET "__zztran"
CALLTARGET "_fetchar"
CALLTARGET "_linelen"
CALLTARGET "_pan"
CALLTARGET "_weed_digestr"

Indice IDX deixando memória baixa.

Enviado: 25 Ago 2012 10:35
por Jairo Maia
Olá José,
JoséQuintas escreveu:- Que eu me lembre, linqueditar com Blinker sem modo protegido era pior do que com rtlink.
Calma colega, que exagero é esse? hehe...
Não tenho nada contra o modo EXTENDIDO, mas nem sempre há possibilidade para isso a contento. Modo PROTEGIDO é sempre preferível, mas as vezes a solução é encontrada bastando reduzir o uso da memória Convencional.

Observe essa linha:

Código: Selecionar todos

BLINKER EXECUTABLE CLIPPER E:2048;F:155;SWAPPATHC:\;
Na configuração que passei, estou reservando 2MB da memória EXPANDIDA para uso do sistema. Confesso que já fiz outras sugestões assim, mas hoje é desnecessária. Isto tinha sentido no tempo de outrora, quando as vezes o computador tinha 8, 16 ou Excelentes 32MB de memória RAM. Então eu reservava 2MB, que é sufuciente para rodar um sistema em BLINKER sem problema.

No entanto, embora julgo desnecessário, se ele alterar apenas esta linha no script desta forma:

Código: Selecionar todos

BLINKER EXECUTABLE CLIPPER F:155;SWAPPATHC:\;
Será reservado 50% da memória EMS disponível (não tenho certeza, mas me parece que o limite máximo é 8MB).

Quanto a lib GASP5xPM.LIB
Aqui você tem razão, mas exige caracteristicas muito particulares na construção do sistema. Se um sistema foi totalmente construído com o GASPRO 4.0o não há problema. Quando existe personalização, e inclusão de outras libs, comumente há conflito. Me lembro que um deles inclusive, era a falha na abertura de arquivos. Mas é uma opção que pode ser tentada, nunca sugiro, porque mais frustra que soluciona.

Penso que essa lib foi projetada para ser usada com o EXOSPACE, e em BLINKER teoricamente bastaria usar a lib BLXRATEX antecedendo a lib BLXCLP52, mas não é simples assim.

Para visualizar o comportamento do sistema na memória, basta colocar no início do PRG principal uma atribuição de função, por exemplo as teclas CTRL+F1 (como eu usava):

Código: Selecionar todos

SetKey( K_CTRL_F1, { || Memorias() } )
E em qualquer PRG colocar a função Memorias():

Código: Selecionar todos

Function Memorias()
 Local cMsg

 cMsg := "INFORMACOES DE MEMORIAS:;"
 cMsg += "Memoria 0 => "+Padl( Int( Memory( 0 ) ), 8 ) + ";"
 cMsg += "Memoria 1 => "+Padl( Int( Memory( 1 ) ), 8 ) + ";"
 cMsg += "Memoria 2 => "+Padl( Int( Memory( 2 ) ), 8 ) + ";"
 cMsg += "Memoria 3 => "+Padl( Int( Memory( 3 ) ), 8 ) + ";"
 cMsg += "Memoria 4 => "+Padl( Int( Memory( 4 ) ), 8 )

 Alert( cMsg )

Return Nil
Após abrir o sistema, pressionar a(s) tecla(s) de função que foi definida, como neste neste exemplo: CTRL+F1 para ver o resultado. O que importa são as memórias "Zero" e "Quatro", respectivamente a memória 0 = Convencional (ou área dos 640K), e memória 4 = Expandida disponível. Após várias operações no sistema, pode repetir isso, e nota-se que a memória "Zero" tem insignificante alteração, enquanto a memória 4 segura o tranco.


Olá Ronei,
roneiluft escreveu:não sei se estou fazendo da melhor forma que existe e gostaria que saber como você as faz
Calma também colega. não sou expert assim. hehe...
Acho difícil opinar sobre qual forma ser a melhor, e elas são construídas com bastante peculiaridade com cada situação. Penso que o importante é funcionar corretamente. Talvez a melhor forma para que nós todos possamos opinar, seria você postar um exemplo de como você faz e assim talvez podermos dar sugestões.