Delphi 文件拖放在Lazarus中的窗体上不起作用
我在TForm1.FormDropFiles中遇到了一个非常奇怪的问题 我已经附上了整个项目。我找不到问题所在 执行项目后,将显示form1并显示系统托盘图标,在form1上拖放文件时,将显示文件名。这很有效。但是当从system tray-Show Droping Platform菜单调用frmDrop表单,并在frmDrop上拖放文件时,将显示垃圾 请有一个在项目和指南,我在它错过了什么看。该项目附于下文Delphi 文件拖放在Lazarus中的窗体上不起作用,delphi,lazarus,Delphi,Lazarus,我在TForm1.FormDropFiles中遇到了一个非常奇怪的问题 我已经附上了整个项目。我找不到问题所在 执行项目后,将显示form1并显示系统托盘图标,在form1上拖放文件时,将显示文件名。这很有效。但是当从system tray-Show Droping Platform菜单调用frmDrop表单,并在frmDrop上拖放文件时,将显示垃圾 请有一个在项目和指南,我在它错过了什么看。该项目附于下文 formdrop单元的顶部如下所示: unit formdrop; {$mode o
formdrop单元的顶部如下所示:
unit formdrop;
{$mode objfpc}
unit formdrop;
{$mode objfpc}{$H+}
但它应该是这样的:
unit formdrop;
{$mode objfpc}
unit formdrop;
{$mode objfpc}{$H+}
在objfpc
中,默认情况下字符串是短字符串。要使用长字符串,需要添加{$H+}
。LCL是为长字符串编译的,因此您需要匹配它。如果没有,则在OnDropFiles
事件中收到的字符串与LCL发送给您的字符串之间存在不匹配