我马上要承认,至少可以说,我对 Pascal 缺乏经验。所以,我能得到的任何帮助都将不胜感激。:)
作为更大程序的一部分,我需要将一个字符串变量写入剪贴板。我在 Lazarus(版本 1.0.12)中创建了一个新项目,因此我可以尝试弄清楚如何做到这一点,而不会因额外的、不必要的代码引起的复杂性,我在下面包含了这些代码:
program varToClipboard;
uses Clipbrd;
var
textToCopy:string;
begin
textToCopy := 'Test text from Pascal';
Clipboard.AsText := textToCopy;
end.
使用上面的代码以及所需的LCLBase
依赖项,在运行已编译的 EXE 时,我在 CMD 中收到以下错误:
An unhandled exception occurred at $000000000043D45E :
EAccessViolation : Access violation
$000000000043D45E CLIPBOARDREGISTERFORMAT, line 98 of ./include/lclintf.inc
$000000000043C35B PREDEFINEDCLIPBOARDFORMAT, line 185 of lclintf.pas
$0000000000415B0C TCLIPBOARD__SETASTEXT, line 452 of ./include/clipbrd.inc
$0000000000401802 main, line 12 of varToClipboard.lpr
根据文档,我似乎做的一切都是正确的。虽然,我发现文档是......有时会缺少。
另外,我需要做什么才能运行编译的 EXE(它只会生成一个字符串并将其写入剪贴板)而不会弹出控制台窗口?