COPIAR E COLAR DELPHI

Delphi

07/03/2017

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;
Felipe Azambuja

Felipe Azambuja

Curtidas 0

Melhor post

Alberto

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.
GOSTEI 3

Mais Respostas

Felipe Azambuja

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!
GOSTEI 0
POSTAR