<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.2.3" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: The Drag and Drop Component Suite v5.0 released</title>
	<link>https://melander.dk/articles/dragdrop5released/</link>
	<description>Note: I no longer maintain or monitor this site</description>
	<pubDate>Sat, 23 May 2026 03:18:25 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.3</generator>

	<item>
		<title>By: izia</title>
		<link>https://melander.dk/articles/dragdrop5released/#comment-590</link>
		<dc:creator>izia</dc:creator>
		<pubDate>Thu, 25 Feb 2010 11:05:15 +0000</pubDate>
		<guid>https://melander.dk/articles/dragdrop5released/#comment-590</guid>
		<description>Thank you! Finally I can save the entire drop file saving the &lt;code&gt;FTargetDataFormat.Contents&lt;/code&gt; directly, and I commented &lt;code&gt;ClearData&lt;/code&gt; ..etc.</description>
		<content:encoded><![CDATA[<p>Thank you! Finally I can save the entire drop file saving the <code>FTargetDataFormat.Contents</code> directly, and I commented <code>ClearData</code> ..etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anders Melander</title>
		<link>https://melander.dk/articles/dragdrop5released/#comment-588</link>
		<dc:creator>Anders Melander</dc:creator>
		<pubDate>Wed, 24 Feb 2010 14:45:22 +0000</pubDate>
		<guid>https://melander.dk/articles/dragdrop5released/#comment-588</guid>
		<description>The VirtualFile demo, by design, limits the amount of data to 32K. This is documented in the source:

&lt;pre lang="delphi"&gt;// Limit the amount of data to 32Kb. If someone drops a huge amount on data on
// us (e.g. the AsyncTransferSource demo which transfers 10Mb of data) we need
// to limit how much data we try to stuff into the poor memo field. Otherwise
// we could wait for hours before transfer was finished.
MemoContents.Lines.Text := Copy(FTargetDataFormat.Contents, 1, 1024*32);&lt;/pre&gt;


The VirtualFileStream demo, again by design, limits the amount of data it saves to 1K. This isn&#39;t explicitly documented in the source, but the source comments does hint that for a real application you will need to implement your own storage of the data:

&lt;pre lang="delphi"&gt;// In a real-world application we would write the buffer to disk
// now. E.g.:
//   FileStream.WriteBuffer(p^, BufferSize-Chunk);&lt;/pre&gt;


If you set a break-point in the OnDrop event handlers it should be pretty clear what is going on with the data.

I will try to work a little on the VirtualFileStream example to make it more obvious what one has to do.</description>
		<content:encoded><![CDATA[<p>The VirtualFile demo, by design, limits the amount of data to 32K. This is documented in the source:</p>

<div class="wp_syntax"><div class="code"><pre class="delphi"><span style="color: #808080; font-style: italic;">// Limit the amount of data to 32Kb. If someone drops a huge amount on data on</span>
<span style="color: #808080; font-style: italic;">// us (e.g. the AsyncTransferSource demo which transfers 10Mb of data) we need</span>
<span style="color: #808080; font-style: italic;">// to limit how much data we try to stuff into the poor memo field. Otherwise</span>
<span style="color: #808080; font-style: italic;">// we could wait for hours before transfer was finished.</span>
MemoContents.<span style="color: #006600;">Lines</span>.<span style="color: #006600;">Text</span> := <span style="color: #000066;">Copy</span><span style="color: #66cc66;">&#40;</span>FTargetDataFormat.<span style="color: #006600;">Contents</span>, <span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">1024</span>*<span style="color: #cc66cc;">32</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>The VirtualFileStream demo, again by design, limits the amount of data it saves to 1K. This isn&#39;t explicitly documented in the source, but the source comments does hint that for a real application you will need to implement your own storage of the data:</p>

<div class="wp_syntax"><div class="code"><pre class="delphi"><span style="color: #808080; font-style: italic;">// In a real-world application we would write the buffer to disk</span>
<span style="color: #808080; font-style: italic;">// now. E.g.:</span>
<span style="color: #808080; font-style: italic;">//   FileStream.WriteBuffer(p^, BufferSize-Chunk);</span></pre></div></div>

<p>If you set a break-point in the OnDrop event handlers it should be pretty clear what is going on with the data.</p>
<p>I will try to work a little on the VirtualFileStream example to make it more obvious what one has to do.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: izia</title>
		<link>https://melander.dk/articles/dragdrop5released/#comment-587</link>
		<dc:creator>izia</dc:creator>
		<pubDate>Wed, 24 Feb 2010 08:34:11 +0000</pubDate>
		<guid>https://melander.dk/articles/dragdrop5released/#comment-587</guid>
		<description>Hi!
I tried your demos virtualfilestream and virtualfile with outlook attachment but it only works with .txt files. I tried it with pdf and the program catch the name of the file but not all of the content. 
If a drag the file from your program to the desktop, the program creates the file but I can&#39;t open it. It gives me an error, and say that can&#39;t repair the file.
¿Do you know what the problem is?</description>
		<content:encoded><![CDATA[<p>Hi!<br />
I tried your demos virtualfilestream and virtualfile with outlook attachment but it only works with .txt files. I tried it with pdf and the program catch the name of the file but not all of the content.<br />
If a drag the file from your program to the desktop, the program creates the file but I can&#39;t open it. It gives me an error, and say that can&#39;t repair the file.<br />
¿Do you know what the problem is?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon</title>
		<link>https://melander.dk/articles/dragdrop5released/#comment-524</link>
		<dc:creator>Simon</dc:creator>
		<pubDate>Wed, 09 Dec 2009 16:35:30 +0000</pubDate>
		<guid>https://melander.dk/articles/dragdrop5released/#comment-524</guid>
		<description>Thanks Anders. I find this one of the most valuable component suites for Delphi. Really happy to see it&#39;s still begin maintained :)</description>
		<content:encoded><![CDATA[<p>Thanks Anders. I find this one of the most valuable component suites for Delphi. Really happy to see it&#39;s still begin maintained <img src='https://melander.dk/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anders Melander</title>
		<link>https://melander.dk/articles/dragdrop5released/#comment-521</link>
		<dc:creator>Anders Melander</dc:creator>
		<pubDate>Mon, 07 Dec 2009 17:49:15 +0000</pubDate>
		<guid>https://melander.dk/articles/dragdrop5released/#comment-521</guid>
		<description>I have found a solution to this problem.

Instead of trying to construct a MSG file from the &lt;code&gt;IMessage&lt;/code&gt; interface, which apparently is a &lt;a href="http://www.ureader.com/msg/1475317.aspx" rel="nofollow"&gt;really complex&lt;/a&gt; and fragile task even though it should be &lt;a href="http://support.microsoft.com/kb/171907" rel="nofollow"&gt;simple&lt;/a&gt;, I now keep a reference to the original &lt;code&gt;IStorage&lt;/code&gt; interface and save that instead.

I will release the updated demo once I have tidied up the modified source, but I&#39;m out of time for today.</description>
		<content:encoded><![CDATA[<p>I have found a solution to this problem.</p>
<p>Instead of trying to construct a MSG file from the <code>IMessage</code> interface, which apparently is a <a href="http://www.ureader.com/msg/1475317.aspx" rel="nofollow" class="liexternal">really complex</a> and fragile task even though it should be <a href="http://support.microsoft.com/kb/171907" rel="nofollow" class="liexternal">simple</a>, I now keep a reference to the original <code>IStorage</code> interface and save that instead.</p>
<p>I will release the updated demo once I have tidied up the modified source, but I&#39;m out of time for today.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anders Melander</title>
		<link>https://melander.dk/articles/dragdrop5released/#comment-520</link>
		<dc:creator>Anders Melander</dc:creator>
		<pubDate>Mon, 07 Dec 2009 16:13:00 +0000</pubDate>
		<guid>https://melander.dk/articles/dragdrop5released/#comment-520</guid>
		<description>I have reproduced the problem and am investigating the cause.

Thanks for the feedback.</description>
		<content:encoded><![CDATA[<p>I have reproduced the problem and am investigating the cause.</p>
<p>Thanks for the feedback.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Erich Wanker</title>
		<link>https://melander.dk/articles/dragdrop5released/#comment-519</link>
		<dc:creator>Erich Wanker</dc:creator>
		<pubDate>Mon, 07 Dec 2009 15:23:03 +0000</pubDate>
		<guid>https://melander.dk/articles/dragdrop5released/#comment-519</guid>
		<description>Thank you. This is realy a great component. 

I have a little question: If i drag&#38;drop a mail with attachment and &#34;save it&#34;, i get an error in the &#34;Outlook drop target demo&#34; : &lt;em&gt;Project OutlookDemo.exe raised exception class EOleSysError with message &#34;access denied &#34;. process stopped&lt;/em&gt;....

Mails with no attachments are working fine.

Office Outlook 2003(11.8217.8221) SP3
Borland Delphi Enterprise Version 7.0
Windows XP SP3


Thanx for your great work.

best regards

Erich</description>
		<content:encoded><![CDATA[<p>Thank you. This is realy a great component. </p>
<p>I have a little question: If i drag&amp;drop a mail with attachment and &quot;save it&quot;, i get an error in the &quot;Outlook drop target demo&quot; : <em>Project OutlookDemo.exe raised exception class EOleSysError with message &quot;access denied &quot;. process stopped</em>&#8230;.</p>
<p>Mails with no attachments are working fine.</p>
<p>Office Outlook 2003(11.8217.8221) SP3<br />
Borland Delphi Enterprise Version 7.0<br />
Windows XP SP3</p>
<p>Thanx for your great work.</p>
<p>best regards</p>
<p>Erich</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anders Melander</title>
		<link>https://melander.dk/articles/dragdrop5released/#comment-518</link>
		<dc:creator>Anders Melander</dc:creator>
		<pubDate>Mon, 07 Dec 2009 13:24:08 +0000</pubDate>
		<guid>https://melander.dk/articles/dragdrop5released/#comment-518</guid>
		<description>The &lt;code&gt;Files&lt;/code&gt; properties are declared as &lt;code&gt;TUnicodeStrings&lt;/code&gt; in order to support Unicode file names on all versions of Delphi.

This should not be a problem for older versions of Delphi (i.e. pre-D2009) as they will implicitly convert the Unicode strings to Ansi as needed.

E.g. this works just fine:

&lt;pre lang="delphi"&gt;var
  Filename: string;
begin
  Filename := DropFileTarget1.Files[0];
  ShowMessage(Filename);
end;&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>The <code>Files</code> properties are declared as <code>TUnicodeStrings</code> in order to support Unicode file names on all versions of Delphi.</p>
<p>This should not be a problem for older versions of Delphi (i.e. pre-D2009) as they will implicitly convert the Unicode strings to Ansi as needed.</p>
<p>E.g. this works just fine:</p>

<div class="wp_syntax"><div class="code"><pre class="delphi"><span style="color: #000000; font-weight: bold;">var</span>
  Filename: <span style="color: #993333;">string</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
  Filename := DropFileTarget1.<span style="color: #006600;">Files</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>;
  ShowMessage<span style="color: #66cc66;">&#40;</span>Filename<span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;</pre></div></div>

]]></content:encoded>
	</item>
	<item>
		<title>By: Radek</title>
		<link>https://melander.dk/articles/dragdrop5released/#comment-516</link>
		<dc:creator>Radek</dc:creator>
		<pubDate>Mon, 07 Dec 2009 08:58:36 +0000</pubDate>
		<guid>https://melander.dk/articles/dragdrop5released/#comment-516</guid>
		<description>Nice, but why is &lt;code&gt;TDropFileTarget.Files&lt;/code&gt; declared as &lt;code&gt;TUnicodeStrings&lt;/code&gt; instead of &lt;code&gt;TFileStrings&lt;/code&gt; from same unit? This is problem for nonunicode delphi.</description>
		<content:encoded><![CDATA[<p>Nice, but why is <code>TDropFileTarget.Files</code> declared as <code>TUnicodeStrings</code> instead of <code>TFileStrings</code> from same unit? This is problem for nonunicode delphi.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: joe</title>
		<link>https://melander.dk/articles/dragdrop5released/#comment-515</link>
		<dc:creator>joe</dc:creator>
		<pubDate>Mon, 07 Dec 2009 05:57:27 +0000</pubDate>
		<guid>https://melander.dk/articles/dragdrop5released/#comment-515</guid>
		<description>thank you! very good component!</description>
		<content:encoded><![CDATA[<p>thank you! very good component!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
