Crearea unui simplu com-obiect

  • Proiectarea unui obiect COM
    • Wizard pentru a crea obiecte COM
    • Crearea unui obiect COM folosind un expert
    • Alegerea modelului de curgere
Delphi oferă programator cu o mare oportunitate de a crea cu ușurință obiecte COM. Pentru aceasta miercuri Delphi a inclus Wizard (Wizards) pentru a crea o varietate de obiecte COM. În acest capitol veți învăța cum să creați un obiect COM simplu, utilizând expertul, precum și modul în care să se înregistreze un obiect creat și testați-l.
obiect COM poate fi server intern, local sau la distanță. Maestrul obiecte COM efectuați următorii pași:
1. Crearea unui nou modul în proiectul curent.
2. Definește o nouă clasă, care este o clasă directă descendent TCOMObject și stabilește constructorul fabricii de clasă.
Pentru dezvoltatorii pentru a crea un nou obiect COM este format din următoarele etape:
1. Proiectarea unui obiect COM.
2. Crearea unui obiect COM folosind un vrăjitor.
3. Registrul COM obiect.
4. Testarea unui obiect COM.
Proiectarea unui obiect COM
La proiectarea unui obiect COM, trebuie să fie clar cu privire la ceea ce trebuie să fie puse în aplicare interfețe COM. Expertul oferă o interfață implicită lunknown. În plus, trebuie să determine ce tip de server pe care doriți să utilizați: intern, local sau la distanță. Dacă sunteți de proiectare o casa sau un server COM locală - trebuie să conectați o bibliotecă de tip, mareșalul va fi generat automat.
Wizard pentru a crea obiecte COM
După cum sa menționat mai sus, Delphi ofera dezvoltatorilor cu mai multe vrajitori pentru a simplifica generarea de obiecte COM. În Delphi oferă vrăjitori pentru a crea aceste obiecte:
- simplu obiect COM;
- obiect de automatizare;
- ActiveX control;
- pagini de server activ;
- formulare ActiveX;
- biblioteci ActiveX;
- pagini de proprietate;
- tipuri de biblioteci;
- obiecte de Microsoft Transaction Server (MTS).
Wizard automatizează sarcinile specifice la crearea fiecăruia dintre aceste tipuri de obiecte COM. Master oferă interfețe necesare pentru fiecare tip de obiect. Pentru un simplu obiect expertul COM oferă una necesară lunknown interfață COM, care stabilește un pointer interfață obiectului (fig. 3.8).
Pentru automatizare expertul obiect creează două interfețe: lunknown și IDispatch, acesta din urmă furnizează marshaling automat (Figura 3.9.).

Crearea unui simplu com-obiect

Fig. 3.9. obiect de automatizare

Crearea unui simplu com-obiect

Fig. 3.10. ActiveX control
Pentru ActiveX expertul de control creează toate necesare pentru interfețele de control, cum ar fi lunknown, IDispatch, IOleobject, Iolecontrol și colab., (Fig. 3.10). Lista completă a interfețelor folosite de control ActiveX vor fi discutate în capitolele 11 și 12.
Deci, vrajitori oferă o varietate de interfețe. Puteți alege expertul care pune în aplicare necesare pentru interfețele obiect COM. Tabel. 3.4 arată care oferă diferite interfețe de experți.
Tabelul 3.4. Interfețele oferite de diferiți artiști

Acțiunile efectuate de expertul

Exportați programele necesare care efectuează înscrierea de server, clasa de înregistrare, încărcare și descărcare, precum și instanțele de obiecte de server. Se creează și gestionează fabrici de clasă pentru obiecte implementate în server. Specifică COM, care fluxul de modele utilizate pentru interfețe obiect. Acesta oferă o bibliotecă de tip, dacă este necesar

Îndeplinește toate descrise pentru serverul master COM oferă, de asemenea, interfața cu utilizatorul și în mod automat oferă o bibliotecă de tip

ActiveX control

lUnknown, IDispatch, IPersistStreamlnit, IQlelnPlaceActiveObject, iPer sis t Storage, IViewObject, IQleObject, IViewOb j ECT2. ZOleControl, IPerPropertyBrowsing, IQlelnPlaceObject, IspecifyPropertyPages

lUnknown, IDispatch, IPersistStreamlnit, lOlelnPlaceActiveObject, IPersistStorage, IViewObject, IQleObject, IViewOb ject2, IQleControl, IPerPropertyBrowsing, IGlelnPlaceObject, IspecifyPropertyPages

Îndeplinește toate descrise pentru controlul ActiveX de Master, de asemenea, permite dezvoltator pentru a edita aplicație


Dacă doriți să adăugați propriul obiect COM, Delphi vă oferă posibilitatea. Pentru a crea o nouă interfață, trebuie să creați un descendent al interfeței IDispatch și determinam metode adecvate. Pentru a modifica o interfață existentă trebuie să creați descendent sale directe, și modificați-o la voință. Astfel, o schimbare imediată a interfețelor existente pentru dezvoltator nu este disponibil.
Crearea unui obiect COM folosind un expert
Următoarele sunt pașii pe care trebuie să le efectuați pentru a crea un nou obiect COM folosind un expert:
1. Din meniul principal, element Delphi Fișier / Nou (File / New), care se deschide dialogul adăugarea de noi părți ale proiectului (fig. 3.11).
2. Selectați fila ActiveX din caseta de dialog.
3. Faceți dublu clic pe pictograma care reprezintă un obiect COM.

Crearea unui simplu com-obiect

Fig. 3.11. Fereastra de dialog adăugarea de noi părți ale proiectului
Ca rezultat al pașii de mai sus, vei fi comandantul unei ferestre obiect COM (COM Object Wizard), prezentat în Fig. 3.12.

Crearea unui simplu com-obiect

Fig. 3.12. obiect de Master COM
Obiectul Wizard COM conține mai multe câmpuri de introducere și bifează casete: - Numele câmpului Clasa (numele clasei) - specifică numele noului obiect COM;
- câmp Instancing (Copii) - definește metoda de creare a unui obiect COM, acest domeniu poate lua oricare dintre cele trei valori:
? Intern (intern) - obiectul poate fi creat numai în cadrul unui proces, o aplicație externă nu poate crea în mod direct o instanță a obiectului. Un exemplu de astfel de metodă de creare a unui obiect COM poate fi un procesor de text, care poate conține ca un obiect de document, care va fi creat doar prin apelarea acestui procesor un cuvânt.
? Instanță unică (o singură copie) - permite o singură interfață COM pentru fiecare aplicație. Astfel, atunci când orice aplicație este atașat la un obiect, obiectul nu mai este disponibil pentru alte aplicații.
? Instanțe multiple (mai multe copii) - obiect poate fi conectat la mai multe aplicații. De fiecare dată când un client solicită serviciul de server, creați o nouă instanță de server. De exemplu, de fiecare dată când un utilizator încearcă să deschidă Windows Explorer, creați o nouă instanță de Windows Explorer.

remarcă
Dacă obiectul COM este utilizat în cadrul procesului, câmpul Instancing (Copii) este ignorat.

- Câmp threading model (model de threading) - definește modul în care aplicațiile, clienții pot apela interfețele unui obiect COM;

- Interfețe de câmp Implementate (interfețe) - definește Implementate interfețe COM, care trebuie să fie puse în aplicare într-un obiect COM;
- Câmp Descriere (Description) - aici puteți pune o descriere a obiectului COM;
- caseta de validare Include Tip Library (include un tip de bibliotecă) - set, dacă doriți să creați o bibliotecă de tip pentru dvs. obiect. Setarea acestui pavilion automat instalează un alt pavilion Mark interfață Oleautomation (Mark interfață oleautomation);
- Mark verifica interfață Oleautomation (Mark oleautomation Interface) - este setat pentru a activa codul marshaling. COM știe cum să pună în aplicare marshaling tuturor obiectelor care sunt compatibile cu serverul de automatizare, și setează automat proxy și pintenul.
Alegerea modelului de curgere
La crearea unui nou obiect COM folosind expertul trebuie să alegeți modelul de curgere. Alegerea corectă a modelului de curgere va îmbunătăți performanța obiectului COM.
Tabel. 3.5 descrie pe scurt modelul filetare, posibil pentru obiectele COM.
Tabelul 3.5. Threading model pentru obiectele COM


În interacțiunea dintre cele două părți ale aplicațiilor bazate pe COM, client și server, raportul privind modelul de streaming sprijinit. COM compară aceste modele. În cazul în care ambele părți descrie un model de streaming, COM stabilește o conexiune directă între client și server. În cazul în care modelele de streaming client și server sunt diferite, COM utilizeaza marshaling pentru a stabili o comunicare între părți ale cererii. marshaling Aplicație reduce viteza de lucru, dar avantajul este evident: marshaling permite aplicațiilor de colaborare care utilizează diferite modele de flux.
Threading modelul este aplicabil doar pentru servere în acest proces. Serverele locale sunt înregistrate ca aplicații executabile și să furnizeze propriile lor model de threading.
În capitolul următor vom uita la exemple specifice ale procesului de creare a obiectelor COM.

Știați că atunci când unii cercetători încearcă să concilieze relativității și fizicii eteric, spune, de exemplu, că cosmosul este compus din 70% din „vid fizice“, și 30% - din substanța și câmpul, ei vor cădea în contradicție logică fundamentală. Această contradicție este după cum urmează.

Știri
Cavalerii Teoria eter

articole similare