Delphi 文件拖放在Lazarus中的窗体上不起作用

Delphi 文件拖放在Lazarus中的窗体上不起作用,delphi,lazarus,Delphi,Lazarus,我在TForm1.FormDropFiles中遇到了一个非常奇怪的问题 我已经附上了整个项目。我找不到问题所在 执行项目后,将显示form1并显示系统托盘图标,在form1上拖放文件时,将显示文件名。这很有效。但是当从system tray-Show Droping Platform菜单调用frmDrop表单,并在frmDrop上拖放文件时,将显示垃圾 请有一个在项目和指南,我在它错过了什么看。该项目附于下文 formdrop单元的顶部如下所示: unit formdrop; {$mode o

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

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

执行项目后,将显示form1并显示系统托盘图标,在form1上拖放文件时,将显示文件名。这很有效。但是当从system tray-Show Droping Platform菜单调用frmDrop表单,并在frmDrop上拖放文件时,将显示垃圾

请有一个在项目和指南,我在它错过了什么看。该项目附于下文


formdrop单元的顶部如下所示:

unit formdrop;

{$mode objfpc}
unit formdrop;

{$mode objfpc}{$H+}
但它应该是这样的:

unit formdrop;

{$mode objfpc}
unit formdrop;

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