tcom完全没有必要作为参数传递进来。如果要动态创建得话,试一试这样行不行
procedure  TForm1.pcptcom(var tcom:  tcombobox;comname:string;comtop:integer;  strlist:  Tstringlist;
      haschange:  boolean;  changename:  TnotifyEvent);
var
  acom:TComboBox;
begin
  aCom:=tComboBox.create(nil);
  tcom:=acom;
end;