erro ao voltar de SelectMultipleFiles HWGUI

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

erro ao voltar de SelectMultipleFiles HWGUI

Mensagem por gilbertosilverio »

Ola Amigos,

Usa a funcao SelectMultipleFiles da HWGUI para selecionar arquivos, so que quando retorno ao sistema da o erro abaixo quando tento abrir qualquer arquivo;

Error DBFCDX/1001 Erro de abertura: MATPRIMA.dbf (DOS Error 2)
Chamado por --> DBUSEAREA(0)
Chamado por PROG01.PRG --> ALTMP(2237)

Alguem ja passou por isso, como posso corrigir este problema

Grato.

Gilberto Silverio
xhb110+hwgui(svn)+wvw+BCC55

Código: Selecionar todos

FUNCTION MULTISELECAO()
    PRIVATE nRetornoArq:=0
    PRIVATE aListaArq:={}
    aListaArq := SelectMultipleFiles( [*.xml], [*.xml], curdrive()+":\", [Selecione os arquivos XMls a serem transferidos])
    i:=0
    IF aListaArq[ 1 ] > [0]
       DO WHILE i < LEN( aListaArq )
          i++
          PesquisaArquivoMultiplo(@aListaArq[i])
          aNomeForne    := PegaNomeArquivo( aListaArq[i] )
          aNomeForne[7] := substr(aListaArq[i], 1, nRetornoArq)
          aNomeForne[8] := substr(aListaArq[i], nRetornoArq+1, len(alltrim(aListaArq[i]))-nRetornoArq)
          AADD( aFiles,  aNomeForne  )
       ENDDO
       ThisForm:oBrowse1:aArray := aFiles
       ThisForm:oBrowse1:REFRESH()
       oBrowse1_onPosChange()
       Thisform:oBrowse1:setfocus()
       thisform:refresh()
    ELSE
       MSGINFO([Abortada a selecao],[Aviso])
       ThisForm:oBrowse1:aArray := aFiles
       ThisForm:oBrowse1:REFRESH()
       oBrowse1_onPosChange()
    ENDIF
RETURN NIL

Editado pela última vez por Toledo em 20 Jan 2013 13:28, em um total de 1 vez.
Razão: O presente tópico foi movido da seção Harbour, uma vez que seu conteúdo não tem relação com os objetivos daquela seção, onde só podem constar dúvidas técnicas de programação diretamente relacionadas com o [x]Harbour.
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

erro ao voltar de SelectMultipleFiles HWGUI

Mensagem por Toledo »

Gilberto, DOS Error 2 quer dizer que o arquivo não foi encontrado. Então provavelmente o arquivo não está na pasta onde o programa está sendo executado ou em alguma parte do programa o path está sendo alterado.
Tenta fazer um teste, no comando em que você está abrindo o arquivo, passe o caminho completo até o arquivo (C:\pasta\arquivo.dbf).

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
gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

erro ao voltar de SelectMultipleFiles HWGUI

Mensagem por gilbertosilverio »

Toledo,

Grato pela resposta.

Realmente a função SelectMultipleFiles da HWGUI altera o PATH do sistema, quando retornava ao programa dava erro.

Corrigi o problema da seguinte maneira:

1) Salvo o diretorio ativo com SAVEPATH()

2) Uso a função: ON CLICK {|| SAVEPATH(), MultiSelecao(), RESTOREPATH() }

3) Recupero o diretorio ativo com RESTOREPATH()

Código: Selecionar todos


FUNCTION SavePath()
  cOldDrive := CURDRIVE()
  cOldPath  := CURDIR()
RETURN .T.


FUNCTION RestorePath()
  DISKCHANGE(cOldDrive)
  DIRCHANGE("\"+cOldPath)
RETURN .T.

GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Responder