最近需要用AsyncPro 5.0的ApdRasDialer组件进行拨号,但打开phonebook的时候总是说通讯簿为空,在delphi2007和2010都出现这个问题。
后来经过debug,发现组件调用RasEnumEntries时返回632错误,ERROR_INVALID_SIZE,再检查,发现RasEnumEntries指向了RASAPI32.dll的RasEnumEntriesW方法,unicode版本,改为RasEnumEntriesA,问题解决。
估计AsyncPro打算由5.X版本开始支持unicode,但版本5.0只改了部分代码就放出来,工作有点不负责嘛。