Înveliți clasa în C # com

Înveliți clasa în C # COM

Să presupunem că avem o # C, care face -clasa ceva util, cum ar fi:

Să creăm această clasă de COM-interfață pentru funcționalitatea acestuia ar putea fi folosite în alte locuri. La final se uite la utilizarea acestei clase în mediul Delphi.

În primul rând aveți nevoie pentru a merge la proprietățile proiectului în fila Generare bifați Înregistrare pentru Interop COM:

Înveliți clasa în C # com

În continuare, vom crea o interfață pentru clasa noastră:

Clasa și interfață trebuie să fie marcate atribute următoarele: ar trebui să indice pentru a le unic GUID s, indică ComVisible (adevărat). și se adaugă atributul ClassInterface (ClassInterfaceType.None) pentru clasa:

E aproape terminat! Puteți colecta versiunea terminat de asamblare noastre. Din cauza Înregistrare bifă pentru COM Interop COM-kompnent însuși înregistrat în sistem, dar înregistrarea poate fi efectuată manual. Acest lucru se face folosind utilitarul RegAsm. care pot fi găsite în „C: \ Windows \ Microsoft.NET \ Framework \ v<номер нужной версии>. „Cu ajutorul argumentului / TLB poate crea simultan asamblare TLB-fișier colateral Anulare înregistrare va atribui / u Deci, rulați comanda (presupunem că numele proiectului și dll corespunzător - ComCalculator) ..:

Ok, acum componentele noastre sunt înregistrate! Să deschidem Delphi și să încerce să-l folosească. După crearea unui proiect nou (lăsați-l să fie un normal de WinForms-proiect) pentru a-l importa ComCalculator. Alegeți din meniul Project, faceți clic pe Import Type Library. În lista pe care am găsit ComCalculator și apăsați Install:

Înveliți clasa în C # com

Fișierul trebuie să adăugați Unit1.pas ComCalculator_TLB la secțiunea utilizări. După aceea, este posibil să aveți probleme cu mscorlib_TBL.pas compilare. Dacă da, atunci pur și simplu eliminați referirea la ea în secțiunea ComCalculator_TLB.pas fișierul utilizează.

Acum să încercăm să utilizeze nostru COM-componente. Vom face acest lucru în mod direct constructorului formularului. Designer corp va conține două linii de câmpie: în primul rând, vom crea clasa TCalculator. și în al doilea apel metoda Sum. Arătăm rezultatul calculelor folosind proceduri ShowMessage.

Rularea aplicației, veți vedea o mică fereastră care apare cu numărul 3 și să se bucure.

Pentru mai multe moduri de a crea complexe de COM-obiecte sunt recomandate pentru a studia următoarele:

articole similare