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

我已经附上了整个项目。我找不到问题所在。

执行完项目后,将显示form1并显示系统任务栏图标,将文件拖放到form1上后,将显示文件名。这可行。但是,当从系统托盘-显示放置平台菜单中调用frmDrop窗体,并将文件拖放到frmDrop上时,将显示垃圾。

请查看项目和指南,了解我所错过的内容。该项目如下。

Demoproject

最佳答案

您的formdrop单元的顶部如下所示:

unit formdrop;

{$mode objfpc}


但它应该看起来像这样:

unit formdrop;

{$mode objfpc}{$H+}


objfpc中,字符串默认为短字符串。要使用长字符串,您需要添加{$H+}。 LCL是为长字符串编译的,因此您需要匹配它。如果不这样做,则在OnDropFiles事件中收到的字符串与LCL发送给您的字符串之间将不匹配。

09-17 09:01