Página 1 de 2

programa muito extenso para ser colocado na memória

Enviado: 27 Ago 2008 12:06
por jelias
Bom dia amigos.

Estou com um problema no meu sistema, quando tento enviar e-mail utilizar o BLAT.EXE - Versão 2.5.
Está ocorrendo o seguinte erro: programa muito extenso para ser colocado na memória.
Já tentei utilizar a seguintes sintáxe: SWPRUNCMD("cmd.exe /c start blat.........")
SWPRUNCMD("cmd.exe BLAT .......")
SWPRUNCMD("BLAT.....")
RUN BLAT......
RUN CMD.EXE BLAT.....
entretanto em todos os casos acima, o problema persiste.
Utilizo Clipper5.2e + Blinker 7.0.
Este é o meu arquivo .lnk
NOBELL
BLINKER EXECUTABLE EXTENDED
BLINKER INCREMENTAL OFF
BLINKER EXECUTABLE CLIPPER E000;F:201;DYNF:8;TEMPPATH:"\TEMP";SWAPK:40000
BLINKER EXECUTABLE COMPRESS 1
BLINKER PROCEDURE DEPTH 70
BLINKER MEMORY CLEAR 0
BLINKER DEMONSTRATION MINUTES 0
OUTPUT SCE


O que poderia estar errado no meu comando, falta alguma coisa?

Abraço.

Re: programa muito extenso para ser colocado na memória

Enviado: 27 Ago 2008 12:18
por Dudu_XBase
Tente usar

SWPRUNCMD( "cmd /c START /max blat ...",0,"","")

Re: programa muito extenso para ser colocado na memória

Enviado: 27 Ago 2008 12:36
por jelias
Obrigado pela resposta amigo, entretanto deu o mesmo erro.
Abraço

Re: programa muito extenso para ser colocado na memória

Enviado: 27 Ago 2008 18:44
por alaminojunior
Eis como faço, tente aí. Funciona em Win98, XP, 2000, 2003

Código: Selecionar todos

   Arg:= " cotacao.txt"+ " -to " +rtrim(destino)+ " -charset 850 -log envio.log -q -of blat.cfg > nul"  
   Exec:= "Blat.exe"
   SwpRunCmd(Exec + Arg,0,"","")

Re: programa muito extenso para ser colocado na memória

Enviado: 29 Ago 2008 08:17
por jelias
Obrigado pela atenção amigo. Fiz conforme sua sugestão, todavia o problema continua. Não estou entendendo o que realmente acontece, pois penso por estar usando o clipper no modo protegido teria acesso a mais memória.

Faleu amigo. T+

Re: programa muito extenso para ser colocado na memória

Enviado: 29 Ago 2008 08:58
por alaminojunior
Outra sugestão: altere a sua linha Blinker Executable Extended, como a seguir.

Código: Selecionar todos

NOBELL
BLINKER EXECUTABLE EXTENDED
BLINKER INCREMENTAL OFF
#BLINKER EXECUTABLE CLIPPER E000;F:201;DYNF:8;TEMPPATH:"\TEMP";SWAPK:40000

Blinker Exec Clipper //F:201, //E:1024, //R:128

BLINKER EXECUTABLE COMPRESS 1
BLINKER PROCEDURE DEPTH 70
BLINKER MEMORY CLEAR 0
BLINKER DEMONSTRATION MINUTES 0
OUTPUT SCE 

Re: programa muito extenso para ser colocado na memória

Enviado: 29 Ago 2008 09:15
por ANDRIL
Olá Galera,

Ao meu ver o erro mencionado não tem nada a ver com o script de linkagem do colega, uma vez que os comandos RUN, SwpRunCmd() acessam uma nova cópia do interpretador de comandos do SO.

Tente verificar:

1-Se os arquivos AUTOEXEC.BAT E CONFIG.NT estão configurados corretamente este último, deverá constar BUFFERS=32 ou superior.

2-Verifique se a memória convencional não esta sobrecarregada, muitas vezes instalamos programas que usam drive residentes consumindo a memória baixa (640k).

3-Pode ser que seu arquivo BLAT.EXE possa estar Corrompido ocasionando este erro ao ser chamado. Apague-o e instale-o novamente.

4-Na dúvida, inicie o micro em modo seguro e tente executar o BLAT.EXE diretamente no prompt para ver se dá a mesma mensagem.

Boa sorte!
Ate+,

Re: programa muito extenso para ser colocado na memória

Enviado: 29 Ago 2008 13:53
por jelias
Galera Boa tarde!

Obrigado mais uma vez pelas sugestões. Fiz conforme sugestão do amigo alaminojunior, entretanto o problema continua.
Verifiquei sobre a memória convencional, como sugerido pelo Andril. Mais parece estar td normal. Também baixei a nova versão do BLAT v2.6.2.
Problema continua.....rs
Abaixo estarei listando minhas configurações:
Mem¢ria convencional :

Nome Tamanho em decimal Tamanho em Hex
------------- --------------------- -------------
MSDOS 18912 ( 18.5K) 49E0
KBD 3296 ( 3.2K) CE0
HIMEM 1248 ( 1.2K) 4E0
COMMAND 4128 ( 4.0K) 1020
DOSX 34720 ( 33.9K) 87A0
KB16 6096 ( 6.0K) 17D0
FREE 112 ( 0.1K) 70
FREE 1120 ( 1.1K) 460
FREE 585504 (571.8K) 8EF20

Total livre : 586736 (573.0K)

Mem¢ria superior :

Nome Tamanho em decimal Tamanho em Hex
------------- --------------------- -------------
SYSTEM 225264 (220.0K) 36FF0
DOSX 128 ( 0.1K) 80
MSCDEXNT 464 ( 0.5K) 1D0
MOUSE 12528 ( 12.2K) 30F0
REDIR 2672 ( 2.6K) A70
FREE 1008 ( 1.0K) 3F0
FREE 2416 ( 2.4K) 970
FREE 4064 ( 4.0K) FE0
FREE 13408 ( 13.1K) 3460

Total livre : 20896 ( 20.4K)

Bytes totais dispon¡veis para programas (Conv.+Sup.) : 607632 (593.4K)
Tamanho do maior programa execut vel: 584320 (570.6K)
Maior bloco de mem¢ria superior dispon¡vel : 13408 ( 13.1K)

1048576 bytes de mem¢ria estendida cont¡gua
0 bytes dispon¡veis de mem¢ria estendida cont¡gua
941056 bytes de mem¢ria XMS dispon¡vel
MS-DOS est  residente na  rea de mem¢ria alta

Meu arquivo config.nt
SET INCLUDE=D:\CLIPPER5\INCLUDE
SET LIB=D:\CLIPPER5\LIB
SET OBJ=D:\CLIPPER5\OBJ
SET PLL=D:\CLIPPER5\PLL
SET CLIPPERCMD=/UD:\CLIPPER5\INCLUDE\STD.CH
SET CLIPPER=//F:250//E:10080//X:10080//DYNF:8//SWAPK:65535//TEMPPATH:"D:\TEMP"//SWAPPATH:"D:\TEMP"//BADCACHE
REM SET ACCSYS=F99
REM SET WKSNET=001
REM SET MAQUINA=SERVIDOR

Valeu amigos! t+

Re: programa muito extenso para ser colocado na memória

Enviado: 29 Ago 2008 14:25
por alaminojunior
SET CLIPPER=//F:250//E:10080//X:10080//DYNF:8//SWAPK:65535//TEMPPATH:"D:\TEMP"//SWAPPATH:"D:\TEMP"
Meu caro, seguinte.....se você já usa esta linha no script do Blinker, não precisa usar de novo no CONFIG.NT

Tire ela e faça o teste.

Re: programa muito extenso para ser colocado na memória

Enviado: 29 Ago 2008 16:59
por jelias
Valeu pela observação amigo! O problema continua.

Valeu. T+

Re: programa muito extenso para ser colocado na memória

Enviado: 30 Ago 2008 13:19
por Dudu_XBase
Jelias Boa Tarde.
Altere seu Lnk

Código: Selecionar todos

BLINKER INCREMENTAL OFF
BLINKER CLIPPER PAGE OFF
BLINKER link XMS ON
BLINKER EXECUTABLE EXTENDED 2048
BLINKER HOST MESSAGE ON
BLINKER HOST DPMI ON
BLINKER HOST VCPI ON
BLINKER HOST XMS ON
BLINKER PROCEDURE DEPTH 70
BLINKER EXECUTABLE COMPRESS 1
OUTPUT SCE
Quando você deixa somente blinker executable extended sem um valor definido o blinker deixará como default 512KB para memória extendida, colocando o valor 2048 ele passará alocar mais memória.

Faça o teste abaixo no seu programa verifique se ele carrega o bloco de notas.

Código: Selecionar todos

cCmd := "C:\WINDOWS\SYSTEM32\CMD.EXE /C NOTEPAD.EXE"
run &cCmd.

Re: programa muito extenso para ser colocado na memória

Enviado: 30 Ago 2008 15:28
por Maligno
Dudu_XBase escreveu:Quando você deixa somente blinker executable extended sem um valor definido o blinker deixará como default 512KB para memória extendida
Acredito que se isso funcionar, será uma exceção, pois em programas mais antigos eu nunca usei valor diferente do default e nunca obtive esse erro. Aliás, em nenhuma situação tive esse erro, com ou sem configuração de memória. Mas está parecendo problema da sessão DOS. É só um palpite.

Re: programa muito extenso para ser colocado na memória

Enviado: 30 Ago 2008 18:42
por Clipper
Prezado Colega

Já tentou executar o programa em outras máquinas e ou outras versões do Windows ?

Como o erro é muito estranho realmente minha opnião é que você deveria tentar por eliminação.

Até logo.

Marcelo

Re: programa muito extenso para ser colocado na memória

Enviado: 30 Ago 2008 23:05
por Dudu_XBase
Dando uma olhada por ai montei essa função, testei no meu programa "fununciou".
Faça um teste com a mesma se acontecer algum erro na execução ele mostrá um alert.

Código: Selecionar todos

 // Function Runcmd
 //          [<cComando>] -> commando a executar não use "command" ou "cmd" ou "start"
 //          [<lVoltar>]    -> executa o comando e volta 
FUNCTION RunCmd(cComando, lVoltar)
LOCAL  cComSpec, lWin9x, aInfo,nMajor,nMinor,nMinpos,nMajpos

// matriz com os erros do swpruncmd
aInfo:={ ;
 {0 ," No Error"},;
 {1 ," Disk Full"},;
 {2 ," File Not Found"},;
 {3 ," Disk I/O Error"},;
 {4 ," Change Directory Error"},;
 {5 ," Temp File Creation Error"},;
 {6 ," Change Drive Error"},;
 {7 ," EMS Error"},;
 {8 ," XMS Error"},;
 {9 ," SHELL Error"},;
 {10 ," Handle Table Too Large To Save"},;
 {11 ," Top Of Memory Error"},;
 {12 ," MCB Chain Corrupt"},;
 {13 ," To Many MCB's"},;
 {14 ," DOS Memory Function Call Error"},;
 {15 ," Unable To Locate Same Segment"},;
 {16 ," Unable to Find COMSPEC "},;
 {254," Swap Internal Error"},;
 {255," Swap Internal Error"}, ;
 {-99," Unknown Error"} ;
}

if cComando <> NIL

   cComsPec := Lower(GetEnv('OS'))
   lWin9x   := (Empty(cComSpec)  .or.;
                     '9'  $ cComSpec  .or.;
                     'me' $ cComSpec)
   if lWin9x // Quando for Windows 95/98 ou Me
      cComando := (cComando + ' > nul')
   else // Windows XP
      cComSpec := GetEnv('SystemRoot')
      cComSpec += '\System32\Cmd.exe /c "'
      if lVoltar == NIL .or. lVoltar         
         cComando := (cComSpec +  cComando)
      else
         cComando := (cComSpec +  ' start /b ' + cComando + '"')
     endif
   endif
endif

if !SwpRunCmd(cComando,0,"","")
   
   nMajor := SwpErrMaj()
   nMinor  := SwpErrMin()
  
   if (nMinPos:=Ascan(aInfo,{|ele| ele[1]==nMinor }))==0 
      nMinPos:=len(aInfo) 
   endif

   if (nMajPos:=Ascan(aInfo,{|ele| ele[1]==nMajor }))==0 
        nMajPos:=len(aInfo)
   endif

   Alert('ERRO :'+;
           ' Major ErrorCode:'  + aInfo[nMinPos][2] +;
           ';Minor ErrorCode:' + aInfo[nMajPos][2])

endif
InKey(3)
RETURN .t.

Re: programa muito extenso para ser colocado na memória

Enviado: 15 Set 2009 14:09
por filizola
galera, preciso enviar e-mail com anexo para clientes com copia oculta. alguem teria uma configuração destes programas de envio para me passar ???