Einzelnen Beitrag anzeigen

H3llsing

Registriert seit: 12. Nov 2008
96 Beiträge
 
Delphi 2010 Enterprise
 
#6

AW: [D2010] Dateien in Zwischenablage kopieren (PDF)

  Alt 2. Aug 2010, 12:12
wunderbar =D
DeddyH du bist mein Held

Bin nicht draufgekommen es bei dem Funktionsparameter selbst umzustellen.

außerdem musste noch folgende Zeile geändert werden

hGlobal := GlobalAlloc(GMEM_MOVEABLE+GMEM_DDESHARE, in
hGlobal := GlobalAlloc(GMEM_SHARE or GMEM_MOVEABLE or GMEM_ZEROINIT,
GesamtCode:
Delphi-Quellcode:
//################################################
// CopyFilesToClipboard
//################################################
procedure TfrmAnfrage.CopyFilesToClipboard(FileList: Ansistring);
var
  DropFiles: PDropFiles;
  hGlobal: THandle;
  iLen: Integer;
begin
  iLen := Length(FileList) + 2;
  FileList := FileList + #0#0;
  hGlobal := GlobalAlloc(GMEM_SHARE or GMEM_MOVEABLE or GMEM_ZEROINIT,
    SizeOf(TDropFiles) + iLen);
  if (hGlobal = 0) then raise Exception.Create('Could not allocate memory.');
  begin
    DropFiles := GlobalLock(hGlobal);
    DropFiles^.pFiles := SizeOf(TDropFiles);
    Move(FileList[1], (PAnsiChar(DropFiles) + SizeOf(TDropFiles))^, iLen);

    GlobalUnlock(hGlobal);
    Clipboard.SetAsHandle(CF_HDROP, hGlobal);
  end;
end;

Vielen Dank an euch beide =)
  Mit Zitat antworten Zitat