GPF atribuindo Nil a uma variável.

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

GPF atribuindo Nil a uma variável.

Mensagem por asimoes »

Pessoal,

Estou com um problema no código abaixo:
Quando atribuo nil ao objeto oCommand.

Meu ambiente é windows 7/64
O programa está sendo compilado com harbour 32 bits / mingw

oCommand:=Nil

Código: Selecionar todos

   cConexao:="Provider=OraOLEDB.Oracle;Data Source=DS01;User ID=aluno;Password=aluno;FetchSize=100;CacheType=Memory;PLSQLRSet=True;"

   oConnection:=Win_OleCreateObject( "ADODB.connection" )
   oCommand:=Win_OleCreateObject( "ADODB.Command" ) 
           
   oConnection:Open(cConexao)           
   oCommand:ActiveConnection:=oConnection

   strSQL := "CORPORATIVO.UTILITARIO.STRZERO"
   oCommand:CommandText:= strSQL
		       
   oCommand:CommandType:= adCmdStoredProc
		       
   Param0 := oCommand:CreateParameter("result", adVarChar, adParamReturnValue,100)
   oCommand:Parameters:Append( Param0)
         
   Param1 := oCommand:CreateParameter("p_nnumero", adNumeric, adParamInput,10,1)
   oCommand:Parameters:Append( Param1 )

   Param2 := oCommand:CreateParameter("p_ntamanho", adNumeric, adParamInput,10,10)
   oCommand:Parameters:Append( Param2 )
		   
   oCommand:Execute()
          
   X:=oCommand:Parameters(0):Value
		   
   oCommand:=Nil //aqui ocorre o gpf

GPF:
Nome do Evento de Problema: APPCRASH
Nome do Aplicativo: testeoracle.exe
Versão do Aplicativo: 0.0.0.0
Carimbo de Data/Hora do Aplicativo: 536cb259
Nome do Módulo de Falhas: KERNELBASE.dll
Versão do Módulo de Falhas: 6.1.7601.18229
Carimbo de Data/Hora do Módulo de Falhas: 51fb1116
Código de Exceção: c0000005
Deslocamento de Exceção: 0000c41f
Versão do sistema operacional: 6.1.7601.2.1.0.256.48
Identificação da Localidade: 1046
Informações Adicionais 1: 9aac
Informações Adicionais 2: 9aacf3bbda9fbfc338ab41349ed201f1
Informações Adicionais 3: b47f
Informações Adicionais 4: b47f81d8ccb503cd1238f11b9e4453a6
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

GPF atribuindo Nil a uma variável.

Mensagem por Toledo »

Antes de definir Nil, tenta fechar o objeto oCommand:Close().

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

GPF atribuindo Nil a uma variável.

Mensagem por asimoes »

Olá Toledo,

Tentei sua orientação mas a execução retorna método não exportado: close
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

GPF atribuindo Nil a uma variável.

Mensagem por alxsts »

Olá!

Estranho isso... eu uso da mesma forma e não dá erro. Tente fechar a conexão do objeto command antes de anulá-lo:

Código: Selecionar todos

   oCmd:activeConnection:close()
   oCmd := NIL
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

GPF atribuindo Nil a uma variável.

Mensagem por asimoes »

No windows XP pro 32 não ocorre o erro.

Vou tentar na segunda.

Código: Selecionar todos

oCmd:activeConnection:close()
oCmd := NIL
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder