2011-02-24 86 views
0

我在使用Symbian描述符時遇到了一些困難。我基本上想要採取各種描述符並將它們連接在一起成爲一個更大的描述符,也許將它們放入RBuf中。此外,數據片段的長度會隨着程序運行的每種類型而變化,下面是一些我一直在玩弄但尚未能夠構建的骨架代碼。如何連接各種Symbian描述符

HBufC8 * aVar = someObj.aVarData(); 
HBufC * anotherVar = someObj.anotherVarData(); 
HBuf8 * someVar = someObj.someVarData(); 

//Perform some operation to convert the descriptors to the same type and add them to a RBuf; 

RBuf toLog; 
toLog.CreateL(_L("Info to Log")); 
toLog.Append(aVar); 
toLog.Append(anotherVar); 
toLog.Append(someVar); 

我一直無法找到如何將描述符轉換並添加到緩衝區,正如您從註釋中看到的那樣。提前致謝。

回答

1

追加()花費TDesC的引用,作爲PARAM。所以,你的代碼應該是這樣的:

toLog.Append(*aVar); 
toLog.Append(*anotherVar); 
toLog.Append(*someVar); 
+0

快速的問題,爲什麼你用* aVar而不是aVar-> Des()? – binarycreations 2011-02-26 00:37:40

+0

取消引用hbufc描述符(僅)以獲取嵌入的buf比使用全功能調用aVar-> Des()更快。這是symbian中hbufc描述符的基本經驗法則(我們在Symbian組織中明智地遵循它)。 – Viren 2011-03-01 23:42:13