Einzelnen Beitrag anzeigen

ASM

Registriert seit: 16. Aug 2004
165 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Binäre Daten aus einem MemoryStream in die Zwischenablage überführen

  Alt 29. Feb 2012, 22:40
Durch einige Experimente, u.a auch unter Verwendung des von mir modifizierten Quellcodes des CLIPBOARD-ANALYZER aus dem Telecharger-Pool von DelphiFr, habe ich die Ursache meiner bisherigen Fehlschläge herausgefunden.

Die entscheidende Aufklärung hat schließlich die Idee gebracht, sofort nach der Ausführung von CopyStreamToClipboard(CF_BINARY, MemStream) ein CopyStreamFromClipboard(CF_BINARY, Filestream) anzuweisen. Und tatsächlich lagen anschließend die binären, aus bem Memorystream stammenden Daten komplett im derart abgespeicherten File vor.

Somit funktioniert der Transfer der binären Daten in das Clipboard nach Anmeldung des selbstdefinierten Clipboardformats "CF_BINARY" vielmehr eben doch fehlerlos.

Die Ursache des von mir anfangs beschriebenen Problems liegt im Empfängerprogramms selbst, da es das von mir definierte Format "CF_BINARY" nicht kennt bzw. trotz dessen Anmeldung im System nicht akzeptieren will und daher die Übernahme der binären Daten per paste aus dem Clipboard verweigert. Schreibe ich dagegen selbst ein separates Empfängerprogramm, das dieses Clipboardformat kennt, kann es auch die binären direkt aus dem Clipboard übernehmen.

Leider gibt es kein allgemein bekanntes StandardClipboardformat für solche binäre Daten, weshalb für das spezielle, eigentliche Empfängerprogramm der Umweg über die Zwischenspeicherung der Daten als File unumgänglich ist, das dann vom Empfängerprogramms eingelesen werden muss.
  Mit Zitat antworten Zitat