W wx_168 Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-05 #2 UP///// 还请高级富翁出来指点吧……嘻嘻…… 请会的帮忙……
K kite20020304 Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-05 #3 CopyMemory(PChar, OleVariant, ...);
W Writer Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-06 #4 如果OleVariant是非数组,非字符串等的值,那很简单。直接 SendBuf(v, SizeOf(v)); 就行。 如果OleVariant是string类型会产生一些问题,地球人都知道DELPHI的string其实只是一个指针,在OleVariant里也一样,而直事实数据在堆上。所以直接 SendBuf(v, SizeOf(v)); 是不行的。 解决的办法还是没有, 只是很麻烦。 最后问下, 为什么要用SOCKET传递OleVariant?
如果OleVariant是非数组,非字符串等的值,那很简单。直接 SendBuf(v, SizeOf(v)); 就行。 如果OleVariant是string类型会产生一些问题,地球人都知道DELPHI的string其实只是一个指针,在OleVariant里也一样,而直事实数据在堆上。所以直接 SendBuf(v, SizeOf(v)); 是不行的。 解决的办法还是没有, 只是很麻烦。 最后问下, 为什么要用SOCKET传递OleVariant?
S suifengpmd Unregistered / Unconfirmed GUEST, unregistred user! 2006-08-14 #6 这个问题已经解决,采用流的方式用Buffer循环传输。
W webwx Unregistered / Unconfirmed GUEST, unregistred user! 2006-08-14 #7 对。就是将OLEVariant的类型字符,拷贝到流内。