我正在尝试从DBPlanner复制并粘贴事件。 我试过了:
procedure TForm1.Copy1Click(Sender: TObject);
begin
DBPlanner2.Items.Select(APlannerItem);
DBPlanner2.Items.CopyToClipboard;
DBPlanner2.SelectCells(DBPlanner2.SelItemBegin,DBPlanner2.SelItemEnd, DBPlanner2.SelPosition + 1);
end;
我明白了:
[dcc32错误] Unit1.pas(107):E2003未声明的标识符: ' APlannerItem'
然后粘贴:
procedure TForm1.Paste1Click(Sender: TObject);
begin
DBPlanner2.Items.PasteFromClipboardAtPos;
end;
我做错了什么?
答案 0 :(得分:0)
您似乎犯了一个经典错误,那就是从示例或其他代码中复制代码。不用担心,我们都做到了。
编译器错误中的APlannerItem指的是Copy1Click中的第一行:
DBPlanner2.Items.Select(APlannerItem);
在Copy1Click的上下文中,编译器不知道APlannerItem是什么。它可能是您从示例或文档或其他代码中引入的内容,在这种情况下,它很可能是指该行发生的代码中的函数/过程参数。
您现在必须将其更改为要选择和复制的特定PlannerItem。我假设您在要复制之前单击PlannerItem。如果是,那么您必须引用该PlannerItem。如果没有,那么您必须通过DBPlanner的PlannerItem索引列表访问PlannerItem,无论函数的名称是什么。我看到你在DBPlanner2中有一个Items属性,这可能是你想要的项目的通道。甚至可能有一个ItemIndex属性,用于说明选择了哪个项目。
作为旁注,只是因为你以前不知道这一点:编译器总是试图告诉你错误发生的位置,如果错误,它将显示错误发生的代码的行号。在这种情况下,行号107.转到该行并检查代码以找出问题所在。