我用activeform调用dll里面的函数发送socket信息,在dll里大致的代码如下:
TLibfunc = procedure(CardId:string);
procedure ClientCardUpLoad(sendproc: FARPROC;idstr,connstr:pchar);
begin
  TLibfunc(sendproc)('M##DOOR=Net##OP=CardUpLoad##ID=^^');
end;
activeform里大致的代码如下:
procedure TsqlDoor.netsend(sendBuff:pchar);
begin 
  tmpForm.IdTCPClient.WriteLn(sendbuff);
end;
 
netSendAddr:=@netsend;dllf(netsendaddr,pchar(idstr),pchar(ConnectionString));
以上方法如果在普通程序里面没问题,但一用到activeform里就老是出错,这个问题应该怎么解决,望各位高手赐教,请给出详细一点的代码或例子,谢谢!