Sid 1 CD5250 Daniel Flemström MDH/IDT COM Extremely Rough Overview.

Slides:



Advertisements
Liknande presentationer
Fritidshem Elever 2013 Fritidshem - Elever 2013 Enhet:
Advertisements

security through simplicity 2 Visste du att du kan använda ditt inpasseringskort till att logga in till din dator, till ditt nätverk och till dina molntjänster?
Absolut renad olja- ett vilkor!
Fujitsu 1. © Fujitsu 2008 Stockholm Libris inspirationsdag Kristian Wallin Anne Sandfær Fujitsu Services A/S.
Sid 1 CD5250 Daniel Flemström MDH/IDT Windowsprogrammering.
Klasser och objekt.
Algoritmer och data strukturer -Länkade listor
Programmeringsteknik
1 Du ska nu starta bildspelet för övningsuppgiften. För att göra detta leta upp på din sidan symbolen som visas nedan och klicka på den. För att komma.
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Fortsättningskurs i Programmering lektion 6
Stora + Störst tal först. Stora additionstabellen Tanketips!
OOP Objekt-orienterad programmering
©storm.
Elkraft 7.5 hp distans: Kap. 3 Likströmsmotorn 3:1
Metoder i java Det finns två typer av metoder i java
Föreläsning 4 Python: mera om funktioner och parametrar
Objektorienterad tänkande
1 ITK:P1 Föreläsning 6 Layoutmodeller i Java DSV Marie Olsson.
Stora additionstabellen
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
Bastugatan 2. Box S Stockholm. Blad 1 Läsarundersökning Maskinentreprenören 2004.
i olika programmeringsspråk
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Objektbaserad programmering –Grundläggande om klasser och objekt – (Arv får vänta)  Iden med klasser.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Konstruktor Ser till att objektets data är korrekt initierade MinKlass::MinKlass(); MinKlass::MinKlass(int.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2004 Datastrukturer och algoritmer Föreläsning 3.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT C++ - förbättrat C?  Procedurellt program ser ut som C: sekvens, selektion, iteration  /* kommentar.
Sid 1 CD5250 OOP med C++ Daniel Flemström MDH/IDT CD5250 OOP med C++
1 Funktioner Nr 3 Funktionstyper, högre ordningens funktioner och polymorfism.
Programmering i C# 3. Klasser.
Sid 1 CD5250 OOP med C++ Daniel Flemström MDH/IDT Lite OOA/OOD.
int res2=Math.max(tal1,tal2);
Bild 1 Hur använder vi KursInfo idag? Högskolan i Skövde.
Det handlar om multiplikation
Arv.
DATABASHANTERING för programmerare Lektion 3 Mahmud Al Hakim
TÄNK PÅ ETT HELTAL MELLAN 1-50
Programmeringsteknik för Media1 & K1
Listor En lista är en föränderlig ordnad samling objekt.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Generiska algoritmer Kan användas på containertyper och arrays Använder iteratorer Implementerar.
TietoEnator © 2007presentationPage 1 Mina meddelanden Procapita +
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Multipelt arv Drawable draw() move() position bitmap Persistent save() restore() storage_file_name.
Föreläsning 5, Kapitel 5 Använda Java-bibliotek för att få avancerad funktionalitet Kursbok: “Objects First with Java - A Practical Introduction using.
Riktade listor i C och Java Lösning till gruppövning 1.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Föreläsning 6. Klassmallar Templates kan givetvis även användas för klasser –Standardutseende template // Klassdefinition (*.h) class C { returtyp metod(parametrar…);...
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Täckningsgrad Dec 2014 – jan 2014 Täckningsgrad Dec 2014 – jan 2014.
Föreläsning 8 Programmeringsteknik och Matlab DD1312 Klassmetoder Egen modul, Self Metoderna: __str__, __lt__,… Meddelande Arv, Överlagring av metoder,
Föreläsning 1. Innehåll Introduktion till objektorientering –OOP (objektorienterad programmering) –Objekt, instanser, klasser C++ –OO i C++ –Standardbibliotek.
Stora subtraktionstabellen
Sid period2CD5250 OOP med C++ Daniel Flemström MDH/IDT Abstrakta Containertyper Vilka finns fördefinierade? Vad kan dom? #pragma warning(disable:4786)
1 ITK:P2 F6 Sortering av generiska containerklasser DSV Peter Mozelius.
Vara kommun Grundskoleundersökning 2014 Föräldrar 2 Levene skola årskurs 5 Antal svar 2014 för aktuell årskurs i skola: 12 Antal svar 2014 för årskurs.
Räkna till en miljard 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14,15,16,17,18,19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, En miljard är ett.
Föreläsning 13 Appletprogram/fristående grafiska program Arv Rita linjer, rektanglar mm Skriva text, byta färg Appletprogram & HTML Grafiska användargränssnitt.
Objektorienterad programmering
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Undantag - eng. Exceptions Viktig del av klassbiblioteksdesign “Hoppa direkt ut med felkod” class.
1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Abstrakta Containertyper Vilka finns fördefinierade? Vad kan dom?
1 Jan Lundström OV’s Hemsida Utbildning Ledare. 2 Jan Lundström OV’s Hemsida Standard Lagrum.
När infaller Julafton och hur ofta?
7. Delegerare och notifierare
Objekt, Klass och Instans Analys av systemet ger mer eller mindre detaljerade objekt Objekten sorteras och klass-diagram ritas upp där relationer reds.
Programmeringsteknik
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Funktionsmall template void myfunc(Type * arr, int n) { // kod; // objekt av typ Type kan deklareras.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
Extremely Rough Overview
Presentationens avskrift:

Sid 1 CD5250 Daniel Flemström MDH/IDT COM Extremely Rough Overview

Sid 2 CD5250 Daniel Flemström MDH/IDT Traditional VS COM Apps Monolithic Application COM Definierar hur pusselbitarna skall se ut. Resultatet blir språkoberoende pusselbitar(COM) objekt. COM komponent skriven i VB kan användas ifrån C++ ! COM Application

Sid 3 CD5250 Daniel Flemström MDH/IDT COM Component Object Model IUnknown IDL – Interface Definition Language Registrera din komponent HRESULT Ckula::Do() { } HRESULT Ckula::Yl() {. } Kula.cpp class Ckula { HRESULT Do(); HRESULT Yl();... }; Kula.hKula.idl Ckula = KULA.DLL Win32 Registry KULA.DLL cFact.cpp

Sid 4 CD5250 Daniel Flemström MDH/IDT Använda COM WIN32 Registry –En databas för att mappa klassID mot DLL tex. –Innehåller information om ID och namn på klasser och interface. COM bibliotek –Slår upp klassid och vet hur man skapar objekt av aktuell klass(oberoende vilket programspråk objektet är skrivet i). CoCreateInstance(klassID) istället för new ATL –En samling templates för att underlätta utveckling och användning av COM komponenter.

Sid 5 CD5250 Daniel Flemström MDH/IDT IUnknown QueryInterface(IID& iid,void** ppIface); Istället För dynamic_cast Interface ID istället för typ Addref/ Release IDraw IKalle Kalle... IUnknown IBoll OlleBoll... IUnknown IBoll

Sid 6 CD5250 Daniel Flemström MDH/IDT Skapa en instans av ett COM objekt #import ”C:\blabla\BOLL.DLL” CComPtr pBoll; pBoll.CoCreateInstance(L”myProj.Boll”); HRESULT hr; hr = pBoll->Do(); if(SUCCEEDED(hr))... CComQIPtr pD(pBoll); // Gör QueryInterface hr = pD->Erase(); if(SUCCEEDED(hr))... #include ”BOLL.H” IBoll* pBoll; pBoll = new CBoll(); pBoll->Do();

Sid 7 CD5250 Daniel Flemström MDH/IDT Skapa ett ActiveX Projekt ATL COM Appwizard

Sid 8 CD5250 Daniel Flemström MDH/IDT Vad har hänt KULA.DLL

Sid 9 CD5250 Daniel Flemström MDH/IDT ”Skriva” ett COM objekt Antal Färdiga Skelett Finns: Insert | New ATL Object:

Sid 10 CD5250 Daniel Flemström MDH/IDT ATL Object Wizard

Sid 11 CD5250 Daniel Flemström MDH/IDT Vad Hände ?

Sid 12 CD5250 Daniel Flemström MDH/IDT Vad Hände?

Sid 13 CD5250 Daniel Flemström MDH/IDT Vad Hände ? QueryInterface

Sid 14 CD5250 Daniel Flemström MDH/IDT Vad Hände ? IDL beskrivning av vår klass

Sid 15 CD5250 Daniel Flemström MDH/IDT Lägga Till Events Högermus | Events

Sid 16 CD5250 Daniel Flemström MDH/IDT Event Handler LRESULT OnClickedButton1(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) { // TODO : Add Code for control notification handler. return 0; }

Sid 17 CD5250 Daniel Flemström MDH/IDT Lägga till Metoder och Properties Högerklicka på interface symbolen

Sid 18 CD5250 Daniel Flemström MDH/IDT ADD Method

Sid 19 CD5250 Daniel Flemström MDH/IDT ADD Property

Sid 20 CD5250 Daniel Flemström MDH/IDT Vad Hände?

Sid 21 CD5250 Daniel Flemström MDH/IDT Använda ATLControls.h Hitta ATLControls.h #include using namespace ATLControls;.. CListBox list(GetDlgItem(IDC_LIST1)); list.ResetContent(); List.AddString(“Kalle”); CComBSTR m_str; GetDlgItemText(IDC_EDIT1, strDayLeap.m_str);

Sid 22 CD5250 Daniel Flemström MDH/IDT Vad mer bör man kunna? CComPtr<> CComQIPtr<> CComVariant CComBSTR USING_CONVERSION W2CT och så vidare