programa muito extenso para ser colocado na memória

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

jelias
Usuário Nível 3
Usuário Nível 3
Mensagens: 260
Registrado em: 27 Ago 2008 11:32
Localização: Minas Gerais

programa muito extenso para ser colocado na memória

Mensagem 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.
xHarbour 1.2.1 (simplex) + BCC 5.8.2 + Hwgui + SQLRDD
Clipper 5.2e / Blinker 7
Júlio Cézar Elias
e-mail: jelias@tpnet.psi.br
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

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

Mensagem por Dudu_XBase »

Tente usar

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


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




jelias
Usuário Nível 3
Usuário Nível 3
Mensagens: 260
Registrado em: 27 Ago 2008 11:32
Localização: Minas Gerais

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

Mensagem por jelias »

Obrigado pela resposta amigo, entretanto deu o mesmo erro.
Abraço
xHarbour 1.2.1 (simplex) + BCC 5.8.2 + Hwgui + SQLRDD
Clipper 5.2e / Blinker 7
Júlio Cézar Elias
e-mail: jelias@tpnet.psi.br
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

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

Mensagem 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,"","")
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
jelias
Usuário Nível 3
Usuário Nível 3
Mensagens: 260
Registrado em: 27 Ago 2008 11:32
Localização: Minas Gerais

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

Mensagem 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+
xHarbour 1.2.1 (simplex) + BCC 5.8.2 + Hwgui + SQLRDD
Clipper 5.2e / Blinker 7
Júlio Cézar Elias
e-mail: jelias@tpnet.psi.br
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

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

Mensagem 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 
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

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

Mensagem 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+,
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
jelias
Usuário Nível 3
Usuário Nível 3
Mensagens: 260
Registrado em: 27 Ago 2008 11:32
Localização: Minas Gerais

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

Mensagem 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+
xHarbour 1.2.1 (simplex) + BCC 5.8.2 + Hwgui + SQLRDD
Clipper 5.2e / Blinker 7
Júlio Cézar Elias
e-mail: jelias@tpnet.psi.br
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

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

Mensagem 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.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
jelias
Usuário Nível 3
Usuário Nível 3
Mensagens: 260
Registrado em: 27 Ago 2008 11:32
Localização: Minas Gerais

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

Mensagem por jelias »

Valeu pela observação amigo! O problema continua.

Valeu. T+
xHarbour 1.2.1 (simplex) + BCC 5.8.2 + Hwgui + SQLRDD
Clipper 5.2e / Blinker 7
Júlio Cézar Elias
e-mail: jelias@tpnet.psi.br
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

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

Mensagem 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.


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

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

Mensagem 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.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

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

Mensagem 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
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

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

Mensagem 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.


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




Avatar do usuário
filizola
Usuário Nível 3
Usuário Nível 3
Mensagens: 421
Registrado em: 19 Ago 2003 20:10
Localização: Belo Horizonte/MG

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

Mensagem 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 ???
"Um passo a frente, e já não estará mais no mesmo lugar..."
Responder