COPIAR E COLAR DELPHI
Olá!
Tenho um projeto de Explorador de Arquivos feito em Delphi, onde o mesmo irá rodar em um servidor e será acessado remotamente.
Localmente, o copiar e colar funciona normalmente, mas quando tento copiar um arquivo da máquina local para o acesso remoto (Via TS), ele não funciona!
Se puderem ajudar, ficarei muito Grato!
Segue o código do Copiar e Colar que estou Usando:
COPIAR:
procedure TFTrans.CopiarArquivos;
var
i: Integer;
lista_arquivos, Arquivo: String;
begin
lista_arquivos := '';
for i := 0 to JvSGArquivos.SelectedRows.Count - 1 do
begin
JvSGArquivos.DataSource.DataSet.Bookmark := JvSGArquivos.SelectedRows[i];
if JvSGArquivos.SelectedRows.Count > 1 then
lista_arquivos := lista_arquivos + caminho +'\\'+ CDSArquivosNOME.value+ #0
else
lista_arquivos := lista_arquivos + caminho +'\\'+ CDSArquivosNOME.value;
end;
CopyFilesToClipboard(lista_arquivos);
end;
COLAR:
procedure TFTrans.ColarArquivos;
var
f: THandle;
buffer: array[0..MAX_PATH] of Char;
i, numFiles: Integer;
arquivo: string;
begin
Clipboard.Open;
try
f := Clipboard.GetAsHandle(CF_TEXT);
if f <> 0 then
begin
numFiles := DragQueryFile(f, $FFFFFFFF, nil, 0);
for i := 0 to numfiles - 1 do
begin
buffer[0] := #0;
DragQueryFile(f, i, buffer, sizeof(buffer));
arquivo := buffer;
MessageDlg('PASSOU!', mtInformation, [mbOK], 0);
CopyFile(PChar(arquivo), PChar(caminho+'\\'+ExtractFileName(arquivo)), true);
end;
end;
finally
Clipboard.close;
listarArquivos(EDiretorio.Text);
JvSGArquivos.SetFocus;
end;
end;
Tenho um projeto de Explorador de Arquivos feito em Delphi, onde o mesmo irá rodar em um servidor e será acessado remotamente.
Localmente, o copiar e colar funciona normalmente, mas quando tento copiar um arquivo da máquina local para o acesso remoto (Via TS), ele não funciona!
Se puderem ajudar, ficarei muito Grato!
Segue o código do Copiar e Colar que estou Usando:
COPIAR:
procedure TFTrans.CopiarArquivos;
var
i: Integer;
lista_arquivos, Arquivo: String;
begin
lista_arquivos := '';
for i := 0 to JvSGArquivos.SelectedRows.Count - 1 do
begin
JvSGArquivos.DataSource.DataSet.Bookmark := JvSGArquivos.SelectedRows[i];
if JvSGArquivos.SelectedRows.Count > 1 then
lista_arquivos := lista_arquivos + caminho +'\\'+ CDSArquivosNOME.value+ #0
else
lista_arquivos := lista_arquivos + caminho +'\\'+ CDSArquivosNOME.value;
end;
CopyFilesToClipboard(lista_arquivos);
end;
COLAR:
procedure TFTrans.ColarArquivos;
var
f: THandle;
buffer: array[0..MAX_PATH] of Char;
i, numFiles: Integer;
arquivo: string;
begin
Clipboard.Open;
try
f := Clipboard.GetAsHandle(CF_TEXT);
if f <> 0 then
begin
numFiles := DragQueryFile(f, $FFFFFFFF, nil, 0);
for i := 0 to numfiles - 1 do
begin
buffer[0] := #0;
DragQueryFile(f, i, buffer, sizeof(buffer));
arquivo := buffer;
MessageDlg('PASSOU!', mtInformation, [mbOK], 0);
CopyFile(PChar(arquivo), PChar(caminho+'\\'+ExtractFileName(arquivo)), true);
end;
end;
finally
Clipboard.close;
listarArquivos(EDiretorio.Text);
JvSGArquivos.SetFocus;
end;
end;
Felipe Azambuja
Curtidas 0
Melhor post
Alberto
07/03/2017
Copiar e colar usa memoria da area de transferencia, não tem como colar em outra maquina.
O que vc pode fazer é gravar os dados em um arquivo.TXT em um diretorio na rede
que seja acessivel a todas as maquinas, e então fazer a leitura do arquivo na outra maquina.
O que vc pode fazer é gravar os dados em um arquivo.TXT em um diretorio na rede
que seja acessivel a todas as maquinas, e então fazer a leitura do arquivo na outra maquina.
GOSTEI 3
Mais Respostas
Felipe Azambuja
07/03/2017
Obrigado pela dica Beto!
Mas estou rodando minha aplicação em um servidor na Amazon, que acesso via Terminal Server, e não uma máquina na mesma rede interna.
Seguem as pesquisas!
Mas estou rodando minha aplicação em um servidor na Amazon, que acesso via Terminal Server, e não uma máquina na mesma rede interna.
Seguem as pesquisas!
GOSTEI 0