<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<font face="Tahoma"><br>
I stand under correction, but I believe the correct answer is that
ideally, you need to support **both**.<br>
<br>
I think the second one is the newer one, and Windows provides some
support for interfacing applications using the first one with
applications using the second one.<br>
Which is why you see some of the formats, but not all of them,
when you use the second API.<br>
<br>
Ideally, I think LO needs to get a list from both API's and
eliminate duplicates.<br>
<br>
Of course, you could always fire up Excel under a Windows
debugger, put breakpoints on all of those API entry points, and
see what it does :-)<br>
<br>
-- Noel Grandin<br>
<br>
</font><br>
Kohei Yoshida wrote:
<blockquote cite="mid:1322843322.2694.12.camel@dell-t3500"
type="cite">
<pre wrap="">Hi fellow hackers,
While investigating this bug
<a class="moz-txt-link-freetext" href="https://bugs.freedesktop.org/show_bug.cgi?id=33100">https://bugs.freedesktop.org/show_bug.cgi?id=33100</a>
which involves Windows' clipboard handling, I've come to the realization
that, there are two ways to communicate with the clipboard on Windows.
One is to use the regular clipboard API
<a class="moz-txt-link-freetext" href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms648709%">http://msdn.microsoft.com/en-us/library/windows/desktop/ms648709%</a>
28v=vs.85%29.aspx
which allows you to open, close, query the available formats, and fetch
the raw clipboard data stream for a requested format.
The other way is to obtain the IDataObject instance from the clipboard,
and fetch the clipboard data stream from that object.
<a class="moz-txt-link-freetext" href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms688421%">http://msdn.microsoft.com/en-us/library/windows/desktop/ms688421%</a>
28v=vs.85%29.aspx
First of all, I don't quite understand why two different ways, and what
the differences are between the two.
Our current clipboard implementation in dtrans uses the
IDataObject-based approach.
Now, as I discovered while investigating the bug, using the IDataObject
method does not necessarily return all available clipboard formats,
whereas using the regular clipboard API does. I was thinking naively
about perhaps replacing our current IDataObject-based approach with the
clipboard API based one, but the whole data transfer code does more than
just handling the clipboard, so I don't really know how feasible
replacing it would be...
Does anyone have a better grasp on why we do it the way we do?
Feedback and suggestions very much appreciated. Also, if anyone wants
to grab Bug 33100, s/he will be more than welcome. :-)
Thanks,
Kohei
</pre>
</blockquote>
<br><br><br><hr><font size="-2" color=808080>Disclaimer: <a href="http://www.peralex.com/disclaimer.html">http://www.peralex.com/disclaimer.html</a><br><br>
</body>
</html>