String类型变成IStream类型

解决方案 »

  1.   

    Private Declare Function CreateStreamOnHGlobal Lib "ole32" (ByVal hGlobal As Long, ByVal fDeleteOnRelease As Long, ppstm As Any) As Long这个API?
      

  2.   

    Function BuildStream(ByVal Text As String) As IStream
        Dim oStream As ADODB.Stream
        
        Set oStream = New ADODB.Stream
        oStream.Open
        oStream.Charset = "UTF-8"
        oStream.Type = adTypeText
        oStream.WriteText Text
        
        Set BuildStream = oStream
    End Function
      

  3.   


    ADODB.Stream和IStream不是同一个东西.
      

  4.   

    请教tiger_zhao:二楼的那个API函数该怎么用? 
      

  5.   


    LPCWSTR lpsz = _T("XXXXXXX"); HGLOBAL hGlobal = GlobalAlloc(GHND, (lstrlen(lpsz) + 1) * sizeof(WCHAR)); 
    VERIFY(NULL != hGlobal); 
    LPWSTR lpBuffer = (LPWSTR)GlobalLock(hGlobal); 
    VERIFY(NULL != lpBuffer); 
    lstrcpyW(lpBuffer, lpsz); 
    GlobalUnlock(hGlobal); LPSTREAM lpStream = NULL; 
    if (SUCCEEDED(CreateStreamOnHGlobal(hGlobal, TRUE, &lpStream))) 

    TCHAR szBuffer[8] = _T("\0"); 
    ULONG ulRead = 0; 
    if (SUCCEEDED(lpStream->Read(szBuffer, (lstrlen(lpsz) + 1) * sizeof(WCHAR), &ulRead))) 

    AfxMessageBox(szBuffer); 


      

  6.   

    ??LZ是老王卖瓜?
    还有,如Tiger_Zhao所说,IStream是接口,string实例转接口貌似很奇怪。
      

  7.   

    我需要的VB6的实现代码,CreateStreamOnHGlobal这个函数怎么用都不成功。自己搞了一天了。痛苦。
      

  8.   


    这里有个例子:
    http://vb-basic.phpchinaz.cn/archives/111524