总是出现类型不兼容
总是出现类型不兼容
[DCC Error] Unit1.pas(64): E2009 Incompatible types: 'method pointer and regular procedure'
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; ListBox1: TListBox; procedure Button1Click(Sender: TObject); private { Private declarations } procedure ThreadsDone(Sender: TObject); public { Public declarations } end;type TFooThread=class(TThread) protected procedure Execute;override; end;var Form1: TForm1;implementation{$R *.dfm}const MaxSize=128;var NextNumber:integer=0; DoneFlags:Integer=0; GlobalArray:array[1..MaxSize]of integer;function GetNextNumber:integer;begin Result:=NextNumber; Inc(Nextnumber);end;procedure TForm1.Button1Click(Sender: TObject);begin TFooThread.Create(False); TFooThread.Create(false);end;procedure TForm1.ThreadsDone(sender: TObject);var i: Integer;begin Inc(DoneFlags); if DoneFlags = 2 then for i := 1 to MaxSize do Listbox1.Items.Add(IntToStr(GlobalArray[i]));end;procedure TFooThread.Execute;var I:integer;begin OnTerminate:=TForm1.ThreadsDone; for I:=1 to MaxSize do begin GlobalArray[i]:=GetNextNumber; Sleep(5); end;end;end.