我在TForm1.FormDropFiles中遇到了一个非常奇怪的问题。
我附上了整个项目。我无法找到问题。
执行项目后,将显示form1并显示系统托盘图标,当在form1上拖放文件时,将显示文件名。这很有效。但是当从系统托盘调用frmDrop表单 - 显示删除平台菜单,并在frmDrop上拖放文件时,将显示垃圾。
请查看项目和指南,我错过了它。该项目如下。
答案 0 :(得分:8)
表格单元的顶部如下所示:
unit formdrop;
{$mode objfpc}
但它应该是这样的:
unit formdrop;
{$mode objfpc}{$H+}
默认情况下,objfpc
字符串是短字符串。要使用长字符串,您需要添加{$H+}
。 LCL是针对长字符串编译的,因此您需要匹配它。如果不这样做,则OnDropFiles
事件中收到的字符串与LCL发送给您的字符串不匹配。