我用VC作了COM实现:
HRESULT SaveInfo([in]BSTR InfoStr,[in]BSTR DBConn,[out,retval]BSTR* NewTrbOID);
用Delphi调用时,传入参数Widestring型,InfoStr是从Socket接收的,例如:
'?'#1#9'安全线'#0#3#4'-'#$10'['#9#5#0#1#$B'其它'#0#$12'晋;  ;'#0#0
当传入COM时就只剩"?'#1#9'安全线"l ,后面都没有了;
如果InfoStr变为"我是Delphi    哈哈哈   hhhh",就可以完整的传入COM.
为什么呢????