Programarea cu și

Visual C ++. ATL
Lecția 10. Tipul șirului BSTR

Tehnologia COM nu depinde de limbaj, deci tipurile folosite în ea sunt diferite de cele utilizate în alte cazuri. Deoarece corzile sunt interpretate diferit în alte limbi, COM utilizează propriul tip de șir - BSTR (Basic STRing). Acest tip este un șir, la începutul căruia îi este specificată lungimea. Astfel, fiecare linie cu COM cunoaște lungimea sa și nu are nevoie de niciun simbol null la sfârșitul liniei.







Pentru a atribui o valoare unui șir de tip BSTR, utilizați funcția API SysAllocString. Cesiune simplă a tipului

nu va funcționa - ar trebui să scrie ceva de genul

Acum vom analiza cum să lucrăm cu șiruri în practică - să adăugăm proprietatea tipului de șir pentru elementul ActiveX, pe care am făcut-o cu dvs. în sesiunile anterioare. Deschideți acest proiect dacă nu este deja deschis.







Mai întâi, adăugați proprietatea la interfața IFirstATL (prin butonul din dreapta al mouse-ului). Doar nu amestecați - din două interfețe cu același nume, trebuie să faceți o interfață externă, nu o interfață de clasă. În dialogul care apare, tastați tipul pentru noua proprietate ca BSTR și numele ca MyName:

Faceți clic pe OK. În interfață vor apărea două proprietăți MyName - pentru scriere și citire.

Acum adăugați o variabilă pentru a stoca această proprietate în clasa CFirstATL. Pentru aceasta, faceți clic dreapta pe el și selectați Adăugați membru Variable. În dialogul care apare, setați tipul de variabilă la BSTR, iar numele este m_name. Tipul accesului selectați privat:

Efectuați următoarele modificări ale metodelor și CFirstATL clasa get_MyName put_MyName (acestea sunt în interfața IFirstATL această clasă):

Faceți de asemenea modificări constructorului pentru clasa noastră:

Acum compilați și treceți la proiectul de test pentru ActiveX. Am avut un proiect de testare în Visual Basic. Pentru ActiveX-ul nostru are o nouă proprietate MyName:

Este adevărat că această proprietate nu este încă păstrată. Dar la asta ne vom uita în următoarea lecție.

<<ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ







Articole similare

Trimiteți-le prietenilor: