การสร้างอาร์เรย์ของสตริงใน com

ฉันเป็นมือใหม่ใน com รู้จัก MFC บ้างเล็กน้อยโดยที่เราสามารถใช้ CStringArray เพื่อรวบรวมสตริง ในกรณีต่อไปนี้ขององค์ประกอบ com ฉันสับสนว่าจะใช้สตริงใน com อย่างไร ต่อไปนี้เป็นกรณี ฉันกำลังพัฒนาส่วนประกอบ com และใช้งานด้วย ในองค์ประกอบ com ของฉันต่อไปนี้เป็นข้อกำหนดของฟังก์ชัน อ่านอาร์เรย์สองมิติจากไฟล์ xml แล้วเทลงในอาร์เรย์ทั่วไปตัวเดียวเช่น

_bstr_t          bstrMember1Name,bstrMember2Name;
IEachData        portsDataNode;
while(portsDataNode = CollectionOfData->NextData())
{
    if (!GetStringAttribute(portsDataNode, _T("Member1"), bstrMember1Name))
    {
            hr = E_FAIL;
    }
    if (!GetStringAttribute(portsDataNode, _T("Member2"), bstrMember2Name))
    {
            hr = E_FAIL;
    }
 }

นี่คือเนื้อความของฟังก์ชันเมื่อฉันได้รับ Member1 และ Member2 เป็นประเภทส่งคืนจากการเรียก บริษัท One com แต่ฉันต้องการการรวบรวมแต่ละรายการและค่า แล้วพารามิเตอร์ของฟังก์ชันคืออะไร ฉันจะรวบรวม Member1 และ Member2 เป็นตัวแปรตัวเดียวได้อย่างไร


person Community    schedule 02.10.2013    source แหล่งที่มา


คำตอบ (1)


ขอโทษ. ฉันไม่เข้าใจคำถามของคุณแบบนั้น หากคุณต้องการส่งคืนชุดข้อมูล (เช่น Array) คุณต้องมี SAFEARRAY ดังนั้นให้ใช้ SafeArrayCreate หากฉันไม่ใช่ COM เท่านั้นและคุณต้องการระบบอัตโนมัติ คุณต้องใช้ VARIANT Safe Array SAFEARRAY สามารถส่งข้ามขอบเขต COM ได้ ความปลอดภัยของ BSTR เป็นไปได้ อาร์เรย์หลายมิติด้วย

person xMRi    schedule 02.10.2013