Ir para conteúdo
  • Cadastre-se

dev botao

i/o erro 123 ao selecionar pasta do xml


Ver Solução Respondido por Antonio Paulo Mangili,
  • Este tópico foi criado há 1970 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Boa tarde.
Estou precisando de uma ajuda.
Estou usando uma procedure existente no demo da NFe com essa função abaixo, para selecionar uma pasta
onde vou salvar em meu arquivo .ini, o local onde devo salvar os XML.

procedure TFrmFormSelecionar.PathClick(Sender: TObject);
begin
     if Length(TEdit(Sender).Text) <= 0 then
        Dir := ExtractFileDir(application.ExeName)
     else
        Dir := TEdit(Sender).Text;

     if SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],SELDIRHELP) then
       TEdit(Sender).Text := Dir;
end;

Em meu aplicativo uso um buttom com a seguinte função:
    PathClick(edtPathNFe)

Quanto seleciono para escolher a pasta e estou no computador local, e não em um computador da rede
funciona legal, mas quando estou em um terminal(cliente) na mesma rede, e mapeado ele me dá um erro "i/o error 123"

Sera que essa função "SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],SELDIRHELP)", só funciona
em computador local, ou seja quando for em rede tipo mapeamento não funciona?

desde já agradeço a orientação.
Paulinho
 

  • Moderadores
Postado

Essa mensagem é emitida pelo próprio Windows, não se trata de uma falha da rotina. Este erro poderá ser gerado quando nome ou caminho do arquivo for longo ou este arquivo estiver em edição.

-Reduza o nome do arquivo que está sendo gerado;
-Diminua o nome das pastas ou altere a cujo arquivo está sendo gravado
-Se o arquivo estiver em edição por algum usuário da rede ou localmente feche o programa e finalize a edição do arquivo;

  • Curtir 2
  • Membros Pro
Postado
1 hora atrás, Gr@c@ disse:

Essa mensagem é emitida pelo próprio Windows, não se trata de uma falha da rotina. Este erro poderá ser gerado quando nome ou caminho do arquivo for longo ou este arquivo estiver em edição.

-Reduza o nome do arquivo que está sendo gerado;
-Diminua o nome das pastas ou altere a cujo arquivo está sendo gravado
-Se o arquivo estiver em edição por algum usuário da rede ou localmente feche o programa e finalize a edição do arquivo;

bom dia. obrigado pelo retorno. como passei acima isso só acontece quando estou executando essa rotina em um terminal na rede. quando executo esse comando no computador local onde o sistema esta instalado, e não em um ponto de rede "funciona normal", portanto não é o tamanho tanto do local de pesquisa quanto ao local de gravação. quando executo via terminal(rede) estou mapeado com uma letra da unidade. não uso \\servidor\d\pasta do sistema. "uso s:\pasta do sistema. espero ter sido mais claro. pois é dificil explicar, mas de qualquer forma agradeço muito a sua ajuda.

  • Membros Pro
  • Solution
Postado

pessoal consegui com essa função:

     Dir := edtPathNFe.Text + edtEmitCNPJ.Text + '\NFe\';

     if Win32MajorVersion >= 6 then
     begin
          with FileOpenDialog1 do
          begin
               Title         := 'Selecione a Pasta do XML';
               Options       := [fdoPickFolders, fdoPathMustExist, fdoForceFileSystem]; // YMMV
               OkButtonLabel := 'Selecionar';
               DefaultFolder := Dir;
               FileName      := ''; //Dir;
               if Execute then
                  EditOrigemCompactar.Text := FileName + '\'
               else
                   EditOrigemCompactar.Clear;
          end;

     end
     else
         if SelectDirectory('Selecione a Pasta do XML', ExtractFileDrive(Dir), Dir, [sdNewUI, sdNewFolder]) then
            EditOrigemCompactar.Text := Dir + '\';

 

poderia fechar o topico. obrigado

  • Curtir 2
  • Este tópico foi criado há 1970 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.