问题
Why am I getting this error, I replaced a stringgrid with a listview, I then set it to viewstyle vsreport but I am getting an error like (expected '=' but '(' found) its flashing on this procedure below
procedure TForm2.ListView2DblClick(Sender: TObject);
this is my code
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls, ComCtrls;
type
TForm2 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
ListView1: TListView;
ListView2: TListView;
procedure FormCreate(Sender: TObject);
procedure TForm2.ListView2DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.FormCreate(Sender: TObject);
var
i: integer;
begin
// NOTE: this can all be done at design-time so
// you don't need to do it in code at runtime!
ListView1.Columns[0].Width := 20;
ListView2.Columns[0].Width := 20;
for i := 0 to 49 do begin
ListView1.Items.Add.Caption := IntToStr(i);
with ListView2.Items.Add do begin
Caption := IntToStr(i);
SubItems.Add('0');
end;
end;
ListView2.Columns[1].Caption := 'name';
ListView1.Columns[1].Caption := 'extension';
ListView1.Columns[2].Caption := 'format';
ListView1.Columns[3].Caption := 'size';
ListView1.Columns[4].Caption := 'date';
ListView1.Columns[5].Caption := 'addres';
end;
procedure TForm2.ListView2DblClick(Sender: TObject);
var
Item: TListItem;
begin
Item := ListView2.Selected;
if Item = nil then Exit;
if (Item.SubItems[0] <> '1024') and (Item.SubItems[0] <> '0') then
ListView1.Selected := ListView1.Items[StrToInt(Item.SubItems[0])];
end;
end.
.
procedure HD;
var
i: integer;
begin
for i := 0 to 49 do begin
with form2.ListView1.Items[i] do begin
SubItems[0] := TABLE[i].name;
SubItems[1] := TABLE[i].format;
if TABLE[i].tip then
SubItems[2] := 'folder'
else
SubItems[2] := 'file';
SubItems[3] := IntToStr(TABLE[i].nach);
SubItems[4] := IntToStr(TABLE[i].razmer);
end;
form2.ListView2.Items[i].SubItems[0] := IntToStr(fat[i]);
end;
end;
回答1:
Get rid of the Form2.
portion in the declaration of the event handler:
type
TForm2 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
ListView1: TListView;
ListView2: TListView;
procedure FormCreate(Sender: TObject);
procedure ListView2DblClick(Sender: TObject); // <-- here
private
{ Private declarations }
public
{ Public declarations }
end;
回答2:
Why does the unit "end." appear within the following procedure:
procedure TForm2.ListView2DblClick(Sender: TObject);
var
Item: TListItem;
begin
Item := ListView2.Selected;
if Item = nil then Exit;
if (Item.SubItems[0] <> '1024') and (Item.SubItems[0] <> '0') then
ListView1.Selected := ListView1.Items[StrToInt(Item.SubItems[0])];
end;
end.
Unless you're posting code from multiple units, move it to the end of the unit file.
来源:https://stackoverflow.com/questions/8752845/fixing-an-error-in-a-method-declaration-in-a-form-in-delphi