这次任务遇到了一个问题,我想把对不同文件的处理放在不同dll中。在客户端有个StringGrid,在dll文件中根据不同的文件结构生成不同的表头。
一个dll中的方法如下
procedure BuildTableColumnNames(strgrdMain: TStringGrid);stdcall;
begin
  strgrdMain.ColCount := 5;//5列
  //strgrdMain.Cells[0,0];
  strgrdMain.Cells[0,0] := '书名';
  strgrdMain.Cells[1,0] := 'ISBN';
  strgrdMain.Cells[2,0] := '价格';
  strgrdMain.Cells[3,0] := '等级';
  strgrdMain.Cells[4,0] := '出版日期';
end;
end.
 
我在客户端第一次加载dll并调用BuildTableColumnNames方法可以修改StringGrid的表头,但我第二次加载dll时,把第一次的dll释放掉,然后调用再BuildTableColumnNames者表头就乱了。这个是什么原因呢,我在BuildTableColumnNames里面只是简单的对表头赋值。