Pessoal, não sei se alguém já teve esse problema que eu fou descrever aqui:
procedure TBinaSismaster.cskBinaRead(Sender: TObject; Socket: TCustomWinSocket);
Var
vEventoBina: AnsiString;
vArrayBina: TStringDynArray;
vNome : string;
vBina:TStringList;
i: Integer;
begin
try
vEventoBina := Socket.ReceiveText;
if (Length(vEventoBina) >= Length(#13#10)) and
(Copy(vEventoBina, Length(vEventoBina) - Length(#13#10) + 1,Length(#13#10)) = String(#13#10)) then
vEventoBina := Copy(vEventoBina,1,Length(vEventoBina) - Length(#13#10));//Retira LineEnd
vArrayBina := SplitString(String(vEventoBina),',');
if vArrayBina[0] = '00' then
begin
vNome := '';
if LowerCase(dmUtils.getFromConfig('CONEXAO','Caminho dos dados')) = 'localhost' then
vNome := '\\'+dmUtils.pubNomeComputador + '\Arquivos\Bina.xml'
else
vNome := '\\'+dmUtils.getFromConfig('CONEXAO','Caminho dos dados') + '\Arquivos\Bina.xml';
vBina := TStringList.Create;
if not FileExists(vNome) then
begin
vBina.Add('<?xml version="1.0" encoding="ISO-8859-1"?>');
vBina.Add('<TAG>');
end else
begin
vBina.LoadFromFile(vNome);
for I := 0 to vBina.Count-1 do
begin
if vBina[i] = '</TAG>' then
begin
vBina.Delete(i);
Break;
end;
end;
end;
vBina.Add(' <BINA>');
vBina.Add(' <FONE>nº telefone</FONE>');
vBina.Add(' <DATA>data e hora da ligação</DATA>');
vBina.Add(' <ATEND>0</ATEND>');
vBina.Add(' </BINA>');
vBina.Add('</TAG>');
vBina.SaveToFile(vNome);
end;
except
end;
end;
Essa rotina faz parte de um SERVIÇO que eu criei.
Resumindo o que o serviço faz:
- ele pode ser instalado em qualquer máquina da rede
- ele vai ficar monitorando um socket com ip e porta predefinidos
- ele socket recebe informação de um aparelho de bina.
- quando ele detectar uma ligação, ele deverá inserir a ligação em um arquivo XML (que obrigatoriamente vai estar no servidor), para que qualquer máquina da rede consiga obter essa informação em qualquer momento e utilizá-la da forma que necessita (por motivo de projeto eu não posso guarda essa informação no banco de dados)
quando eu rodo essa rotina criando/manipulando o arquivo na mesma máquina em que o serviço está instalado funciona perfeitamente
mas seu eu tentar criar o arquivo em rede, a parte do fileExists nunca encontra arquivo, mesmo ele já existindo na máquina e na hora de salvar a alteração fica dando "File Access Denied".
Já tentei literalmente tudo que veio na cabeça:
- compratilhamento de pasta
- permissões de segurança
- mapeamento de rede
- trocar o tipo do arquivo
mas nada funciona.
Alguém consegue me ajudar?
Obrigado
AVISO: Coloque o seu Tópico sobre dúvidas, no Forum de Delphi
o Forum Tutoriais e Dicas deve ser usado somente para códigos prontos ou dicas de Delphi
Pergunta
guga123
Pessoal, não sei se alguém já teve esse problema que eu fou descrever aqui:
Essa rotina faz parte de um SERVIÇO que eu criei.
Resumindo o que o serviço faz:
- ele pode ser instalado em qualquer máquina da rede
- ele vai ficar monitorando um socket com ip e porta predefinidos
- ele socket recebe informação de um aparelho de bina.
- quando ele detectar uma ligação, ele deverá inserir a ligação em um arquivo XML (que obrigatoriamente vai estar no servidor), para que qualquer máquina da rede consiga obter essa informação em qualquer momento e utilizá-la da forma que necessita (por motivo de projeto eu não posso guarda essa informação no banco de dados)
quando eu rodo essa rotina criando/manipulando o arquivo na mesma máquina em que o serviço está instalado funciona perfeitamente
mas seu eu tentar criar o arquivo em rede, a parte do fileExists nunca encontra arquivo, mesmo ele já existindo na máquina e na hora de salvar a alteração fica dando "File Access Denied".
Já tentei literalmente tudo que veio na cabeça:
- compratilhamento de pasta
- permissões de segurança
- mapeamento de rede
- trocar o tipo do arquivo
mas nada funciona.
Alguém consegue me ajudar?
Obrigado
AVISO: Coloque o seu Tópico sobre dúvidas, no Forum de Delphi
o Forum Tutoriais e Dicas deve ser usado somente para códigos prontos ou dicas de Delphi
abraço
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.