Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ClipBoard zwischenspeichern (https://www.delphipraxis.net/18317-clipboard-zwischenspeichern.html)

Markus K. 16. Mär 2004 16:30


ClipBoard zwischenspeichern
 
Hallo,
wie könnte ich den aktuellen Inhalt der Zwischenablage zwischenspeichern und später wieder abrufen?
Hatte es so versucht, allerdings werden der Variablen Ablage keine Werte zugeteilt, sprich sie bleibt leer. Es kommt auch keine Fehlermeldung. Was mache ich falsch? :gruebel:
Delphi-Quellcode:
var Ablage:TClipBoard;
begin
     Ablage:=TClipBoard.Create;
     Ablage:=ClipBoard; //Speichern
     ...
     SetClipBoard(Ablage); //ClipBoard das gespeicherte zuweisen
end;
Tschüß Markus

Niko 16. Mär 2004 17:51

Re: ClipBoard zwischenspeichern
 
Den Inhalt der Zwischenablage zu speichern, geht leider nicht so einfach.
Dein Code macht folgendes:
Zuerst wird ein neues TClipboard-Objekt erzeugt und der Variablen "Ablage" zugewiesen.
Dann weist du "Ablage" das von Delphi generierte Clipboard-Objekt zu. Ergebnis: "Ablage" und "Clipboard" zeigen auf das selbe Objekt. Die Referenz auf dein selbst erzeugtes TClipboard-Objekt geht verloren (Speicherleck!).
Zum Schluss setzt du das Objekt, auf das "Ablage" verweist, als neues Standard-Clipboard-Objekt ein. Das ist aber das selbe wie das ursprüngliche Standard-Clipboard-Objekt - diese Zuweisung bewirkt also eigentlich überhaupt nichts.
Aber selbst wenn du mit einer echten Kopie von "Clipboard" arbeiten würdest, hätte dies keinerlei Auswirkungen auf den Inhalt der von Windows verwalteten Zwischenablage.

Um diesen trotzdem zu Speichern musst du den Inhalt der Zwischenablage über Clipboard.GetAsHandle auslesen, in einer Variablen speichern und zum Schluss über Clipboard.SetAsHandle wieder zurückschreiben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz