菜鸟捉虫(34)

上期答案:
   运行程序时会报ListAllFiles自定义函数中ListBox1.Clear语句出错。将ListBox1.Clear改为Form1.ListBox1.Clear可解决。依次将后面的错误用同样的方法修改即可。此时,虽然在运行时不会报错,但是会出现死循环现象,只要将FindNext SearchRec 改成ReValue=FindNext(SearchRec)即可恢复正常。
  #2 获奖名单:
   浙江 雷震中 安徽 王海滨 湖南 江 斌
   云南 朱 华 湖北 王 正
   以上幸运读者将获得电脑报最新出品的《电脑报系列配套光盘》杂志一套。
  #2 本期题目:
   本期我们来看看一个制作并调用包含窗体的DLL文件的例子。我们将关于对话框制作为一个DLL文件,然后再在程序中调用该DLL并显示出关于对话框。新建一个DLL工程,再新建一个窗体,用于制作关于对话框。源代码如下,但该代码中含有一些错误,请将这些错误找出来。
   DLL文件中的源代码:
   library AboutDLL;
   uses
   SysUtils,Classes,Windows,Forms;
   ($R *.RES)
   function ShowABoutForm;boolean;
   var
   AboutForm:TForm1;
   begin
   AboutForm:=TForm1.Create(Application);

AboutForm.Show;
   Result:=True;
   AboutForm.Free;
   end;
   begin
   end.
   主程序中的调引DLL的源代码:
   ……
   implementation
   function ShowAboutForm:boolean;external 'aboutdll.dll'; //静态调用DLL文件
   ($R *.DFM)
   procedure TForm1.Button1Click(Sender: TObject);

begin
   ShowAboutForm

end;
   ……