3

我在 TForm1.FormDropFiles 中遇到了一个非常奇怪的问题。

我附上了整个项目。我无法找到问题所在。

执行项目form1后显示系统托盘图标,当在form1上拖放文件时,显示文件名。这行得通。但是当从系统托盘调用 frmDrop 表单时 - 显示拖放平台菜单,并将文件拖放到 frmDrop 上,然后显示垃圾。

请查看项目和指南,看看我错过了什么。该项目附在下面。

演示项目

4

1 回答 1

8

formdrop 单元的顶部如下所示:

unit formdrop;

{$mode objfpc}

但它应该看起来像这样:

unit formdrop;

{$mode objfpc}{$H+}

默认情况objfpc下,字符串是短字符串。要使用长字符串,您需要添加{$H+}. LCL 是为长字符串编译的,因此您需要匹配它。如果您不这样做,那么您在OnDropFiles活动中收到的字符串与 LCL 发送给您的字符串不匹配。

于 2013-03-29T14:47:01.533 回答