Seminar Komponentenorientierte Softwareentwicklung

Größe: px
Ab Seite anzeigen:

Download "Seminar Komponentenorientierte Softwareentwicklung"

Transkript

1 Seminar Komponentenorientierte Softwareentwicklung Für : Herr Prof. Dr. Thiesing COM (DCOM, COM+) Von: Nurhan Duman MatrNr:

2 Inhaltsangabe Historie von COM/DCOM/COM+...S.3 Was ist COM (allgemeine Formulierung)... S.4 Warum COM / Vorteile von COM... S.4 Kleiner Abstecher: Was sind Zeiger?... S.5 Programmiersprachenunabhängigkeit...S.7 Wie funktioniert COM genau?... S.8 Noch einiges zu den Begriffen... S.11 COM-Komponente als DLL bzw. EXE...S.12 COM-InprocServer... S.13 Entwicklung einer COM Komponente mit Visual C++ und Assistenten... S.15 Zusammenfassung.S.24 Literaturverweise... S.25 2

3 Historie von COM/DCOM/COM+ Früher als es nur die MS-Dos Umgebung gab, war es nicht vorstellbar daß zwei Anwendungen gleichzeitig auf einem Rechner liefen. Später wurden die Rechnerleistungen immer mehr erweitert, und Windows wurde entwickelt. Nun war es möglich, mit Multitasking zu arbeiten. Der Wunsch zwischen den unterschiedlichen Anwendungen wie Word und Excel Daten austauschen zu lassen, wurde immer größer. Man entwickelte verschiedene Wege, um dieses Problem zu lösen. Zwei dieser Lösungen heißen Zwischenablage und DDE (Dynamic Data Exchange), wobei letztere heute nicht mehr bekannt ist, da sie für Softwareentwickler viel zu schwer hantierbar war und nicht mehr eingesetzt wurde. Das Copy-and-Paste-Prinzip, das die Zwischenablage für uns ermöglicht, ist bis heute gängiger Standard und kann nicht mehr weggedacht werden. Um zwei Anwendungen miteinander zu verknüpfen bsp. in ein Word-Dokument eine Excel-Tabelle zu verknüpfen, war mit der Zwischenablage nicht möglich. Wollte man in der eingebetteten Tabelle etwas ändern, musste man zuerst in der eigentlichen Excel- Umgebung dies tun, dann kopieren und die engebettete Tabelle durch die neue ersetzen. Mit der Einführung von OLE1 (Object Linking and Embedding) war es möglich, in der Excel-Tabelle Änderungen zu machen, und diese wurden in jedem Dokument, wo jene Excel-Tabelle eingebettet war, übernommen. Das eingefügte Dokument konnte sogar durch Doppelklick geöffnet werden. Diese Technik, die Kommunikation zwischen verschiedenen Prozessen zu gewährleistet, basierte wiederum auf DDE, welches als ein Protokoll dafür verstanden werden konnte und kompliziert zu programmieren war. Man erkannte später, daß die eingebetteten Dokumente (Objekte) selbst kleine Software-Komponenten waren, die in verschiedene Anwendungen eingebaut werden konnten und die Anwendungen dadurch erweiterten. OLE1 wurde durch OLE2 ersetzt. Unter OLE2, das eigentlich auf COM (Component Object Model) basierte, konnte man durch Doppelklick das eingebettete Objekt im selben Fenster bearbeiten (Vorort- Aktivierung). Beide Anwendungen wurden zusammen entwickelt und aufeinander abgestimmt, doch COM bot vielmehr allgemeine Interaktionsmechanismen, die es Softwarekomponenten gestattete, gemäß den von ihnen veröffentlichten Diensten miteinander zu kommunizieren. Mit der Einführung von Windows NT Betriebssystem wurde DCOM (Distributed COM) eingeführt, der es ermöglichte, daß auch zwischen entfernten Rechnern Anwendungen miteinander kommunizieren. COM+ ist die Weiterentwicklung von COM, die mit Windows2000 eingeführt wurde. COM+ umfasst COM und den Microsoft Transaction Server sowie weitere Dienste. 3

4 Zwischenablage (1987) Verteilte Computer (1980er) OLE1 (1992) OLE2 / COM (1995) Open Software Foundation Distributed Computing Environment Remote Procedure Calls (OSF DCE RPC) Ende 80er Distributed COM (1996) COM+ (1997) Was ist COM (allgemeine Formulierung) COM steht für Component Object Model, ein von Microsoft definierter Standard für die Entwicklung von Anwendungs-Komponenten. Dazu definiert der Standard so genannte Schnittstellen, über die eine Anwendung entsprechende COM-Objekte der Komponenten anfordern kann. Warum COM / Vorteile von COM Um große, komplexe Aufgaben zu realisieren, bedarf es ausgeklügelter organisatorischer Strukturen. Probleme ab einer gewissen Größe bedürfen einer strukturellen Aufteilung. Diese besteht darin, Probleme zu zerlegen und dafür Teillösungen zu suchen, welche dann zu einer Gesamtlösung zusammengefügt werden. Die Idee, Probleme zu zerlegen, ist gleichermaßen für die Softwareentwicklung anzuwenden. 4

5 COM ist ein Hilfsmittel, um komplexe Aufgabenstellungen in der Softwareentwicklung in mehrere Ebenen zu zerlegen und anschließend eine Gesamtlösung zu erstellen. COM standardisiert den Zugriff auf das Dienstangebot einer Softwarekomponente und erreicht somit Interoperabilität. D.h. es können mehrere Komponenten (Teillösungen einer Software) erstellt werden und durch COM bzw. durch die definierten Schnittstellen können diese Teillösungen als Ganzes wieder zusammengesetzt werden. Es können Objekte erzeugt werden, Methoden aufgerufen werden usw. Ein weiterer Vorteil oder Nutzen von COM ist es, daß die Komponente, die genutzt werden soll, in einer beliebigen Programmiersprache geschrieben werden kann solange sie ein spezielles binäres Format aufweist, doch dazu später. Kleiner Abstecher: Was sind Zeiger? Für eingefleischte Java-Entwickler wird das wohl ein Fremdwort sein. Zeiger sind nichts anderes als (wie die Bezeichnung schon sagt) Variablen, die nicht den Wert einer Variable selbst sondern die Speicheradresse enthalten, wo sich der Wert der Variable befindet. Zeiger werde in C definiert, indem vor der Variable ein Stern-Symbol angegeben wird. Die Adresse einer gewöhnlichen Variable kann man mit dem kaufmännischen Und bestimmen. In dem oben angegebenen Beispiel wird die Variable a definiert, welche dann den Wert 10 erhält. Die Variable b stellt einen Zeiger dar, welcher dann die Adresse der Variable a zugewiesen bekommt. Auf den Inhalt der Variable a kann man wie gewohnt zugreifen. Um auf den Inhalt der Variable b zugreifen zu können, muss man das Stern-Symbol davor schreiben, sonst greift man auf die Adresse zu. 5

6 Der Vorteil von Zeigern ist, dass die Adresse während des Programmablaufs geändert werden kann, somit sind dynamische Listen etc. möglich. Bsp: class Figure { public: void paint() { printf( error: paint of class Figure called!\n ); class Rectangle : public Figure {public: void paint() { printf( painting a rectangle \n ); class Circle : public Figure {public: void paint() { printf( painting a circle \n ); //Objekte Erzeugen Figure * somefigures[3]; somefigure[0] new Rectangle(); somefigure[1] new Circle(); somefigure[2] new Rectangle(); for (int i=0; i<3; i++) somefigures[i] ->paint(); //Ausgabe error: paint of class Figure called! error: paint of class Figure called! error: paint of class Figure called! Wir stoßen hier auf die Grenzen der Leistungsfähigkeit von Methodenaufrufen in der von uns programmierten Art und Weise! Der ablaufende Code hält sich exakt an die Vereinbarungen, die im Quelltext stehen, sprich die Definition von somefigures als Variable des Typs Figure sowie der Aufruf somefigures[i] -> paint veranlassen den Übersetzer, die zur Übersetzungszeit vorliegende Information für die Code-Generierung zugrunde zu legen. Abgeleitete Klassen von paint haben so niemals eine Chance, zur Laufzeit ausgeführt zu werden (statische Bindung oder auch early-binding), der compile-time-datentyp des Zeigers ist für den Aufruf der Methode zur Laufzeit entscheidend. Möglich wäre es aber mit virtual bei der Definition der Methoden. 6

7 class Figure { public: virtual void paint() = 0; class Rectangle : public Figure {public: virtual void paint() { printf( painting a rectangle \n ); class Circle : public Figure {public: virtual void paint() { printf( painting a circle \n ); Mit diesen Methodenaufrufen erhalten wir als Ergebnis: Painting a rectangle... Painting a circle... Painting a rectangle Zu Klassen, die eine oder mehrere als virtual deklarierte Methoden enthalten, erzeugt der Compiler eine so genannte virtuelle Funktionszeigertabelle vtbl (virtual function table). Dieses eindimensionale Feld liefert für jede virtuelle Methode einen Funktionszeiger, also einen Pointer, über den die Methode zur Laufzeit indirekt aufgerufen wird. Jede Instanz einer solchen Klasse wiederum besitzt in ihren Instanzdaten einen Zeiger auf diese Tabelle, den sogenanngten virtual function table pointer vptr. Programmiersprachenunabhängigkeit Nahezu alle verfügbaren C++-Compiler erzeugen Binärcode, der virtuelle Methoden über die Indirektionsstufe einer vtbl aufruft. Man entschloss sich, diesen Mechanismus auch für COM-Schnittstellen zu verwenden Ein Zeiger auf eine COM-Schnittstelle ist ein Zeiger auf eine vtbl, die der zugehörigen abstrakten Basisklasse in C++ gehört. In welcher Sprache die Methoden des COM-Objektes geschrieben worden sind, die der COM-Client aufrufen möchte spielt hier keine Rolle. Der Zugriff auf eine COM- Schnittstelle wie auch das Speicherlayout einer COM-Schnittstelle sind durch ein binäres Standardformat fest vorgegeben. Wenn nun ein Client die Parameter (Datentyp) und den Rückgabewert einer bestimmten Methode kennt und den Funktionszeiger aus der vtbl verwendet, kann er 7

8 auf das COM-Objekt zugreifen, ohne die konkrete Klasse zu kennen, mit deren Hilfe das Objekt programmiertechnisch erzeugt worden ist. COM-Schnittstellenzeiger Zeiger auf vtbl virtuelle Fkt.zeigerTabelle Methoden Implementierung Client der Schnittstelle vptr Fkt.1 Fkt.2 Fkt.3 vtbl HRESULT Funktion1() {... HRESULT Funktion2() {... Implementierung der Schnittstelle HRESULT Funktion3() {... Wie funktioniert COM genau? COM basiert auf dem Client- / Server-Prinzip. Der Server ist die COM-Komponente und der Client eine Anwendung, die diese Komponente nutzt. Da COM unterschiedliche Programmiersprachen unterstützt, kann man gewünschte Komponenten nicht einfach durch den Aufruf der Komponenten-Bezeichnung laden, da jede Programmiersprache ihre eigenen Aufruf-Konventionen hat. Um dieses Problem umgehen zu können, definiert der COM-Standard, dass jede Komponente einfach eine eindeutige Zahl als so genannte GUID (Globally Unique Identifier) erhält. Zahlen werden grundsätzlich von allen Programmiersprachen unterstützt. Dieser GUID in Form einer Zahl wird in der Registry des Windows-Betriebssystems abgelegt. Laut Standard sollte diese Zahl weltweit eindeutig sein, was durch entsprechende Generatoren realisiert wird. 8

9 GUIDGEN ist z.b. ein solcher Generator. (Unter:Start/Ausführen, Pfad von guidgen.exe reinschreiben c:/programme/c++/tools/guidgen.exe,toolt erscheint, Registry Format auswählen und copy) Der Generator generiert die GUID anhand der MAC-Adresse einer vorhandenen Netzwerkkarte, der Uhrzeit und des Datums. Falls keine Netzwerkkarte vorhanden ist im Rechner, lassen sich mit Hilfe von Systemparametern, die im BIOS abgelegt sind, Zahlen generieren. Man kann auch ohne den Generator GUIDs erstellen, die COM-API Funktion CoCreateGuid wird in das Betriebssystem eingebettet. //Zeiger auf die erzeugte Guid HRESULT CoCreateGuid( GUID * pguid); Somit ist sichergestellt, dass die Wahrscheinlichkeit für eine doppelt vergebene GUID gering ist (hängt natürlich auch vom Programmierer ab). Die GUID für Komponenten wird auch CLSID (ClassID) genannt. Es wird natürlich nicht nur die CLSID in der Registry abgelegt, sondern auch der Path zur entsprechenden Komponente in Form einer DLL oder EXE. Einer Anwendung, die diese Komponente nutzen möchte, muss die CLSID oder die so genannte ProgID der Komponente bekannt sein. Die ProgID ist eine Namensvergabe (eine besser lesbare Form für den Menschen) für die Komponente, die folgendermaßen aufgebaut ist: <Hersteller>.<Klasse>.<Version> Durch entsprechende API - Funktionen (API: Application Programming Interface), die von COM zur Verfügung gestellt werden, kann eine Anwendung nun eine Komponente 9

10 über die Registry und die bekannte CLSID laden oder über die bekannte ProgID die CLSID herausfinden. Damit ist es aber nicht getan, nicht nur die Komponente hat eine GUID (CLSID), sondern auch jede Schnittstelle, die man auch IID (InterfaceID) nennt. Somit müssen diese IIDs auch der Anwendung bekannt sein. Über die CLSID und IIDs kann die Anwendung die Schnittstellen der Komponente anfordern, welche dann als ein COM-Objekt zurückgeliefert werden. COM ist nicht an grafische Oberflächen gebunden, somit kann auch eine Konsolenanwendung auf das COM-System zugreifen. Windows-Registratur (Registry) Registry= eine Zentrale Informationsdatenbank innerhalb von Windows. Sie beinhaltet nahezu alle Informationen über die Konfiguration des Betriebssystems, wie etwa Einstellungen zur Anpassung der Oberfläche (Farben,Hintergrund,Cursorsymbole,etc.), Systemeinstellungen (Liste der Programme, die beim Systemstart auszuführen sind) und eben auch bestimmte Informationen über COM. Die Struktur der Windows-Registratur ist baumartig angeordnet, die Informationen liegen in so genannten Schlüsseln ( keys ), denen ein oder mehrere Attribute oder wiederum Unterschlüssel ( subkeys ) zugeordnet sein können. Blick in die Windows Registratur: Hauptschlüssel, Unterschlüssel und ihre Attribute: 10

11 Bsp. Abbildung von der CLSID von Word für Windows: Noch einiges zu den Begriffen COM-Server ist eine Binärdatei, die die Realisierung von COM-Klassen enthält und die Bereitstellung der Objekte für den Client (Erzeugen der Objekte, Zugriff über Schnittstellenzeiger bereitstellen) durchführt. Binärdatei nimmt die Rolle eines COM-Servers ein. Ist eine Windows-DLL oder ein unter Windows ausführbares Programm (EXE). Com-Komponente Es ist mit COM-Klassen nicht möglich, Objekte zu erzeugen. Zusätzlich zur COM- Klasse ist vom Entwickler Quelltext bereitzustellen, der erst zusammen mit der COM- Klasse und der COM-Laufzeitumgebung den kompletten Zyklus eines COM-Objektes abdeckt (Erzeugen und Löschen eines Objektes, Schnittstelle IUnknown implementieren, Zugriff auf die Methoden herstellen). Unter COM-Komponenten versteht man in Ergänzung einer COM-Klasse die komplette Programmumgebung (Binärdatei), die dem Betriebssystem (speziell der COM- Laufzeitumgebung) die Erzeugung von Objekten dieser Klasse ermöglicht. Die COM- Komponente kann entweder in Form einer DLL- oder als EXE-Datei realisiert werden. 11

12 COM-Client Windows-Programm veranlasst Erzeugung von COM-Objekten und ruft seine Methoden auf. COM-Komponente als DLL bzw. EXE Es gibt grundsätzlich zwei unterschiedliche COM-Komponentenarten. Den so genannten InProc-Server und OutProc-Server. Der InProc-Server wird in der Regel als DLL (Dynamic Link Library) realisiert. Ein InProc-Server arbeitet im gleichen Adressraum wie die Anwendung, die diesen als DLL einbindet. Trotz all dem ist der InProc-Server eine eigenständige Komponente der Anwendung. Der OutProc-Server ist ein selbstständig laufendes Programm, welches in Form einer ausführbaren EXE-Datei existiert. Da dieser Server ein eigenständiges Programm darstellt, besitzt dieser einen eigenen und somit von der Client-Anwendung abweichenden Adressraum. Damit der Server und die Client-Anwendung trotzdem miteinander kommunizieren können, stellt die COM-Laufzeitumgebung eine Transportdienstleistung der Parameter zur Verfügung. Dabei werden die Parameter automatisch in ein übertragbares Format konvertiert, dieses Verfahren nennt man Marshaling. COM ist so aufgebaut, dass die Client-Anwendung nicht genau wissen muss, ob es sich jetzt um einen InProc-Server oder einen OutProc-Server handelt. Das COM-Laufzeitsystem übernimmt die benötigten Konvertierungen und die Kommunikation. 12

13 COM-InprocServer 8. Zeiger 5.1 erzeuge Klassen-Obj. Fabrikmethode- Muster Client COM-Umgebung 5.2 Zeiger 6. erzeuge Objekt 1. anmelden 2. Obj. erzeugen 7. Zeiger Server 3. CLSID nachfragen 4. Pfadangabe DLL Registry 9. Methode aufrufen - DLL ist in der Registry registriert. - Client meldet sich bei COM an - COM-Objekt soll erzeugt werden - COM durchsucht Registratur nach entsprechender CLSID - COM Fkt. lädt die DLL in den Adressraum des Clienten - Server wird gestartet - Objekt der Klassenobjekt der Fabrik wird erzeugt - Schnittstellenzeiger auf die Klasse CFactoryImpl werden geliefert 13

14 IUnknown QueryInterface() AddRef() Release() implements IMathematik QueryInterface() AddRef() Release() implements Mathematik muli() Klassenfabrik CFactoryImpl extends IClassFactory CreateInstace() LockServer() implements QueryInterface() AddRef() Release() CreateInstance() LockServer() 1. COM- Umgebung Schnittstelle IUknown ist von jeder COM-Klasse zu implementieren und von jeder Schnittstelle zu erben. Methode QueryInterface() erwartet als Eingangsparameter die IID einer COM- Schnittstelle, als Ausgabeparameter liefert sie einen Zeiger auf diese Schnittstelle zurück, wenn das Objekt diese Schnittstelle implementiert. Funktionen, die einen Schnittstellenzeiger erzeugt haben und diesen über den Rückgabewert der Funktion an den Aufrufer zurückgeben, müssen vor der Rückgabe einmal AddRef() aufrufen. D.h. der Referenzzähler des Objektes wird um eins hochgezählt. Funktionen, die einen Schnittstellenzeiger mit Hilfe des Aufrufs einer zweiten Funktion entgegennehmen müssen Release() aufrufen, wenn sie den Schnittstellenzeiger nicht mehr benötigen. D.h. der Referenzzähler wird um eins erniedrigt. Methode der Schnittstelle IClassFactory LockServer() beschäftigt sich damit, ob ein COM-Server aus dem Speicher wieder entfernt werden soll. Wann soll COM die durch die CoLoadLibrary geladene InprocDLL wieder entladen? Zu diesem Zweck verwaltet COM pro InProcDLL einen Zähler, der besagt ob die DLL noch im Adressraum der Applikation geladen bleiben soll oder wieder entfernt werden kann. 1. COM erzeugt ein neues Objekt der Klassenfabrik CFactoryImpl. Diese liefert einen Schnittstellenzeiger der COM-Schnittstelle. Es ist uns jetzt möglich, Methoden der CFactoryImpl aufzurufen. Die Klasse CFactoryImpl kann Objekte von Mathematik erzeugen mit CreateInstance(). Nun können wir COM-Objekte der Schnittstelle IMathematik erzeugen. 14

15 Code Beispiel aus dem Client //Ein COM-Objekt der Klassenfabrik erzeugen. CoGetClassObject(CLSID_Mathematik, CLSCTX_INPROC_SERVER, NULL, IID_IClassFactory, (void**)&factory); //Durch die Klassenfabrik ein COM-Objekt der Schnittstelle IMathematik erzeugen. factory->createinstance(null, IID_IMathematik, (void**)&mathematik); Entwicklung einer COM-Komponente mit Visual C++ und Assistenten Im folgenden Beispiel wird ein InProc-Server mit Hilfe des ATL-COM-Anwendungs-Assistenten erstellt. Dazu muss zunächst ein neues Projekt erstellt werden, welches hier MyCOMServer heißt. Nachdem auf OK geklickt wurde, erscheint ein weiterer Dialog, in dem man den Server-Typ auswählen kann. Da wir einen InProc-Server erstellen möchten, muss hier Dynamic Link Library (DLL) ausgewählt werden. Anschließend kann man auf Fertigstellen klicken. 15

16 Am Ende erscheint nur noch ein Dialog welches eine Liste von Dateien anzeigt, die erstellt werden. Hier muss man nur mit OK bestätigen. Somit hat man das Grundgerüst des InProc-Servers erstellt, aber noch keine eigenen Schnittstellen, was folgen wird. Um eine eigene Schnittstelle (COM-Objekt) zu definieren, muss man in der Menüleiste von Visual C++ unter Einfügen im Kontextmenü den Punkt Neues ATL-Objekt... auswählen. Anschließend wird ein Dialog eingeblendet, in dem man die Art der Schnittstelle definieren kann. Da wir ein einfaches Beispiel erstellen möchten, sollte unter der Liste Kategorie der Punkt Objekte und unter der Auswahlbox Objekte der Punkt Einfaches Objekt ausgewählt sein. Danach einfach auf Weiter klicken. 16

17 Nun erscheint ein Dialog, in dem man die Eigenschaften des COM-Objekts definiert. Wenn man jetzt in das Eingabefeld Kurzbez. eine allgemeine Bezeichnung für die Schnittstelle angibt, werden alle anderen Felder entsprechend der Namenskonvention automatisch gefüllt. Wir haben uns entschieden, eine Schnittstelle mit der Bezeichnung Mathematik zu erstellen. Danach wieder auf OK klicken. I steht dabei für Interface also Schnittstelle. Wenn man jetzt links im Arbeitsbereich die Klassen-Ansicht wählt, kann man sich den grafischen Aufbau anschauen. Es wurden eine Klasse CMathematik und eine Schnittstelle IMathematik für die Klasse erstellt. 17

18 Nun wollen wir eine Operation erstellen, auf die wir durch unsere Schnittstelle zugreifen können. Dazu klicke man mit der rechten Maustaste auf IMathematik innerhalb des Knotens CMathematik. Im Kontextmenü muss man dann Methode hinzufügen... auswählen. Würde man stattdessen auf IMathematik innerhalb des Knotens MyCOMServer Klassen klicken und dort eine Operation erstellen, dann würde nur die Schnittstellen- Definition erstellt werden und nicht die Implementierung. Nun kann man der neuen Operation einen Namen geben und deren Parameter definieren. Wie man sieht, kann man keinen eigenen Rückgabeparameter angeben, was auch laut Definition von COM nicht erlaubt ist. Es muss immer ein HRESULT Rückgabeparameter angegeben sein, welcher anzeigt, ob die Operation erfolgreich war oder nicht bzw. welcher Fehler vorliegt. Dieser Rückgabeparameter wird durch den Assistenten automatisch angegeben. Wir wollen hier eine einfache Multi-Operation erstellen, welche die folgenden Parameter hat: double *erg: Hier wird das Ergebnis zurückgeliefert. 18

19 Da man keinen eigenen Rückgabe-Parameter definieren kann, muss die Rückgabe über Zeiger erfolgen. double zahl1: Erste Zahl, die wir multiplizieren werden double zahl1: Zweite Zahl, die wir multiplizieren werden Sobald man auf OK klickt, wird diese Operation in der Schnittstelle und als Implementierung definiert. In der Klassen-Ansicht des Arbeitsbereiches kann man das Ganze nachvollziehen. Die Multi-Operation mit dem pinken Quadrat davor ist die Implementierung und die Multi-Operation mit dem grünen Quadrat davor ist die Definition der Operation in der Schnittstelle (COM-Objekt). Wenn man jetzt auf die Implementierung der Multi-Operation (pinkes Quadrat) einen Doppelklick ausführt, dann wird der Quelltext angezeigt, den man entsprechend ergänzen kann, um die Funktionalität der Operation zu programmieren. Wie man sieht, wurde automatisch die Rückgabe S_OK definiert. Diese Rückgabe meldet, dass die Operation erfolgreich war. Mit E_FAIL kann man melden, dass die Ausführung fehlgeschlagen ist. 19

20 Es gibt noch viele andere vordefinierte Rückmeldungen, aber dies ist für das Verständnis erst mal nicht relevant. Der Quelltext unserer einfachen Multi - Operation kann nur Potenzen mit positiven Exponenten verarbeiten und sieht folgendermaßen aus. Nachdem man das Projekt nun kompiliert, wird die DLL des InProc-Servers erstellt und dieser automatisch in der Registry registriert. Somit ist der InProc-Server fertig. Im folgenden Bild ist die grobe Struktur unseres InProc-Servers in der Registry zu sehen. Dies sind die wichtigsten Eintragungen, jedoch macht Visual C++ noch zusätzliche Angaben. 20

21 Client zur Nutzung des InProc-Servers Auf einen Server greift ein Client zu, welchen wir jetzt erstellen. Dazu muss sich der Client zuerst beim COM-Laufzeitsystem anmelden, um den Zugriff auf die Komponenten zu erhalten, was mit der Funktion CoInitialize erfolgt. CoInitialize(NULL); Nach der erfolgreichen Anmeldung fordert der Client eine so genannte Klassenfabrik des angegebenen Servers an, was mit der Funktion CoGetClassObject realisiert wird. CoGetClassObject(CLSID_Mathematik, CLSCTX_INPROC_SERVER, NULL, IID_IClassFactory, (void**)&factory); Diese Funktion erhält als Parameter die GUID des Servers CLSID_Mathematik und die vordefinierte GUID der Klassenfabrik IID_IClassFactory. Der Parameter CLSCTX_INPROC_SERVER gibt an, dass es sich um einen InProc- Server handelt. Zurückgeliefert wird ein Zeiger auf das erstellte COM-Objekt der Klassenfabrik. 21

22 Mit der Klassenfabrik kann man nun weitere gewünschte COM-Objekte erstellen, dazu stellt diese eine Operation mit der Bezeichnung CreateInstance zur Verfügung. factory->createinstance(null, IID_IMathematik, (void**)&mathematik); In unserem Beispiel fordern wir die in unserem InProc-Server zuvor definierte Schnittstelle IMathematik an. Bei Erfolg wird ein COM-Objekt dieser Schnittstelle geliefert. Nun kann man mit diesem COM-Objekt wie mit einem Objekt einer gewöhnlichen Klasse arbeiten, also z.b. Operationen ausführen. Wenn die COM-Objekte nicht mehr benötigt werden, müssen diese mit der Operation Release freigegeben werden. In unserem Beispiel ist es das Objekt mathematik. Wenn keine Objekte mehr erstellt werden sollen, muss auch die Klassenfabrik factory durch ein Release freigegeben werden. mathematik->release(); factory->release(); Am Ende jeder Client-Anwendung muss noch eine Abmeldung vom COM- Laufzeitsystem erfolgen, was mit der Funktion CoUninitialize erfolgt. CoUninitialize(); Hier nochmal die Client-Anwendung im Ganzen. //Das Importieren der Header-Datei des Servers ist nötig, //da diese die GUIDs der Komponente und deren Schnittstellen enthält. #include "..\MyCOMServer\MyCOMServer.h" #include <iostream.h> #include "..\MyCOMServer\MyCOMServer.h" #include <iostream.h> void main() { IClassFactory IMathematik HRESULT double *factory; *mathematik; hr; ergebnis, zahl1, zahl2; //Anmeldung bei COM für den Zugriff auf das COM-Laufzeitsystem. CoInitialize(NULL); //const CLSID CLSID_Mathematik = {0x0BB7A368,0x80AF,0x4374,{0xB1,0x34,0xC4,0x9C,0x62,0xC9,0x53,0xA5; //const IID IID_IMathematik = {0xB7DF317F,0x9C28,0x4480,{0x83,0x3B,0xC7,0x26,0xE3,0xB6,0xDC,0xDD; 22

23 // IMathematik *mathematik = NULL; // hr = CoCreateInstance(CLSID_Mathematik, NULL, CLSCTX_INPROC_SERVER, IID_IMathematik, (LPVOID *) & mathematik); //Ein COM-Objekt der Klassenfabrik erzeugen. CoGetClassObject(CLSID_Mathematik, CLSCTX_INPROC_SERVER, NULL, IID_IClassFactory, (void**)&factory); //Durch die Klassenfabrik ein COM-Objekt der Schnittstelle IMathematik erzeugen. factory->createinstance(null, IID_IMathematik, (void**)&mathematik); //Benutzereingabe. cout <<"Zwei Zahlen miteinander multiplizieren.\n\n"; cout <<"Bitte geben Sie eine Zahl ein: "; cin >>zahl1; cout <<"Bitte geben Sie noch eine Zahl ein: "; cin >>zahl2; //Multiplikation. hr = mathematik->multi(&ergebnis, zahl1, zahl2); //Ausgabe des Ergebnises. if(succeeded(hr)) { cout <<"\ndas Ergebnis lautet: " <<ergebnis <<"\n\n"; else { cout <<"\ndie Zahlen konnten nicht multipliziert werden.\n\n"; //COM-Objekte wieder freigeben. mathematik->release(); factory->release(); //Abmeldung bei COM. CoUninitialize(); 23

24 Zusammenfassung COM ist also ein Verfahren für den Datenaustausch zwischen verteilten Objekten. Die proprietäre Spezifikation von der Firma Microsoft beschreibt Software- Komponenten für neu zu schreibende oder bereits bestehende Programme. COM- Komponenten sind für den Einsatz unter den Windows-Betriebssystemen von Microsoft konzipiert. Sie werden meist in der Programmiersprache C++ geschrieben, können aber auch in einigen anderen Programmiersprachen entwickelt werden. COM definiert eine Software-Schnittstelle, durch die COM-Komponenten Daten miteinander austauschen. Sie ermöglicht es beliebigen Komponenten, miteinander zu kommunizieren, egal in welcher Programmiersprache die Komponenten geschrieben wurden. Dank der Durchschaubarkeit des Speicherortes spielt es für den Programmierer, der eine Komponente schreibt, keine Rolle, ob sich die übrigen Komponenten zum Beispiel in einer DLL, in einer lokalen EXE-Datei oder auf einem anderen Netzwerk-Rechner befinden. So braucht der Programmierer auch keine Veränderung an seiner Komponente vorzunehmen, wenn andere Komponenten "umziehen", also an anderem Ort im Computer-Netz gespeichert werden. 24

25 Literaturverweise Buch von Peter Loos; GoTo COM InternetSeiten:

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 Die Installation der FuxMedia Software erfolgt erst NACH Einrichtung des Netzlaufwerks! Menüleiste einblenden, falls nicht vorhanden Die

Mehr

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag Anton Ochsenkühn amac BUCH VERLAG Ecxel 2016 für Mac amac-buch Verlag 2 Word-Dokumentenkatalog! Zudem können unterhalb von Neu noch Zuletzt verwendet eingeblendet werden. Damit hat der Anwender einen sehr

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Einführung in COM. 04.04.2006 Seite 1

Einführung in COM. 04.04.2006 Seite 1 Einführung in COM 04.04.2006 Seite 1 Ziele Sie kennen die Funktion der Registry für COM Sie können die Struktur eines COM-Objekts erklären Sie können erklären, wie ein remote-server gestartet wird 04.04.2006

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Step by Step Softwareverteilung unter Novell. von Christian Bartl Step by Step Softwareverteilung unter Novell von Softwareverteilung unter Novell 1) Starten von einfachen *.EXE-Dateien: Starten sie ConsoleOne Erstellen sie eine eigene Organisationseinheit für ihre Anwendungen

Mehr

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG it4sport GmbH HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG Stand 10.07.2014 Version 2.0 1. INHALTSVERZEICHNIS 2. Abbildungsverzeichnis... 3 3. Dokumentenumfang... 4 4. Dokumente anzeigen... 5 4.1 Dokumente

Mehr

ecaros2 - Accountmanager

ecaros2 - Accountmanager ecaros2 - Accountmanager procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Aufruf des ecaros2-accountmanager...3 2 Bedienung Accountmanager...4 procar informatik AG 2 Stand: FS 09/2012 1 Aufruf

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Gruppenrichtlinien und Softwareverteilung

Gruppenrichtlinien und Softwareverteilung Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden

Mehr

AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung

AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung Problem: Um AutoCAD abwechselnd auf mehreren Rechnern einsetzen zu können konnte man bis AutoCAD 2000 einfach den Dongle umstecken. Seit AutoCAD 2000i

Mehr

Jederzeit Ordnung halten

Jederzeit Ordnung halten Kapitel Jederzeit Ordnung halten 6 auf Ihrem Mac In diesem Buch war bereits einige Male vom Finder die Rede. Dieses Kapitel wird sich nun ausführlich diesem so wichtigen Programm widmen. Sie werden das

Mehr

Eingebettete Objekte

Eingebettete Objekte Eingebettete Objekte Grundsätzliches Ein Word-Dokument kann neben Textobjekten andere Objekte der verschiedensten Art enthalten: 1. Bilder und Zeichnungen 2. Diagramme 3. Formeln 4. Excel-Tabellen 5. Multimedia-Objekte

Mehr

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Zahlen auf einen Blick

Zahlen auf einen Blick Zahlen auf einen Blick Nicht ohne Grund heißt es: Ein Bild sagt mehr als 1000 Worte. Die meisten Menschen nehmen Informationen schneller auf und behalten diese eher, wenn sie als Schaubild dargeboten werden.

Mehr

Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken

Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken Mit Anleitung zur Erstellung einer FTP Verbindung unter Windows 7 Matthias Lange

Mehr

Installationsleitfaden kabelsafe backup professional unter MS Windows

Installationsleitfaden kabelsafe backup professional unter MS Windows Installationsleitfaden kabelsafe backup professional unter MS Windows Installationsanleitung und Schnelleinstieg kabelsafe backup professional (kabelnet-obm) unter MS Windows Als PDF herunterladen Diese

Mehr

Abwesenheitsnotiz im Exchange Server 2010

Abwesenheitsnotiz im Exchange Server 2010 Abwesenheitsnotiz im Exchange Server 2010 1.) Richten Sie die Abwesenheitsnotiz in Outlook 2010 ein und definieren Sie, an welche Absender diese gesendet werden soll. Klicken Sie dazu auf Datei -> Informationen

Mehr

Der neue persönliche Bereich/die CommSy-Leiste

Der neue persönliche Bereich/die CommSy-Leiste Der neue persönliche Bereich/die CommSy-Leiste Mit der neue CommSy-Version wurde auch der persönliche Bereich umstrukturiert. Sie finden all Ihre persönlichen Dokumente jetzt in Ihrer CommSy-Leiste. Ein

Mehr

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Nutzung von GiS BasePac 8 im Netzwerk

Nutzung von GiS BasePac 8 im Netzwerk Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Installation OMNIKEY 3121 USB

Installation OMNIKEY 3121 USB Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,

Mehr

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Windows Server 2012 RC2 konfigurieren

Windows Server 2012 RC2 konfigurieren Windows Server 2012 RC2 konfigurieren Kurzanleitung um einen Windows Server 2012 als Primären Domänencontroller einzurichten. Vorbereitung und Voraussetzungen In NT 4 Zeiten, konnte man bei der Installation

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

CMS.R. Bedienungsanleitung. Modul Cron. Copyright 10.09.2009. www.sruttloff.de CMS.R. - 1 - Revision 1

CMS.R. Bedienungsanleitung. Modul Cron. Copyright 10.09.2009. www.sruttloff.de CMS.R. - 1 - Revision 1 CMS.R. Bedienungsanleitung Modul Cron Revision 1 Copyright 10.09.2009 www.sruttloff.de CMS.R. - 1 - WOZU CRON...3 VERWENDUNG...3 EINSTELLUNGEN...5 TASK ERSTELLEN / BEARBEITEN...6 RECHTE...7 EREIGNISSE...7

Mehr

Erstellen der Barcode-Etiketten:

Erstellen der Barcode-Etiketten: Erstellen der Barcode-Etiketten: 1.) Zuerst muss die Schriftart Code-39-Logitogo installiert werden! Das ist eine einmalige Sache und muss nicht zu jeder Börse gemacht werden! Dazu speichert man zunächst

Mehr

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen?

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen? Anleitung für Evident Seite 1 Anleitung für Evident-Anwender: Einbinden der MIZ-Dokumente in Evident. Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen? Zunächst müssen Sie entscheiden,

Mehr

Verschlüsseln von Dateien mit Hilfe einer TCOS-Smartcard per Truecrypt. T-Systems International GmbH. Version 1.0 Stand 29.06.11

Verschlüsseln von Dateien mit Hilfe einer TCOS-Smartcard per Truecrypt. T-Systems International GmbH. Version 1.0 Stand 29.06.11 Verschlüsseln von Dateien mit Hilfe einer TCOS-Smartcard per Truecrypt T-Systems International GmbH Version 1.0 Stand 29.06.11 Impressum Herausgeber T-Systems International GmbH Untere Industriestraße

Mehr

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Inhalt 1. Die Funambol Software... 3 2. Download und Installation... 3 3.

Mehr

Der lokale und verteilte Fall

Der lokale und verteilte Fall Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr

192.168.0.1. Wenn wir also versuchen auf einen anderen PC zuzugreifen, dann können wir sowohl per Name als auch mit der Adresse suchen.

192.168.0.1. Wenn wir also versuchen auf einen anderen PC zuzugreifen, dann können wir sowohl per Name als auch mit der Adresse suchen. Windows Netzwerk Sie haben einen oder mehrere PC mit einander verbunden? Dann sollte man das auch nutzen. Generelles: Ein PC hat in der Regel IMMER eine feste Nummer / Adresse (egal ob wechselnd oder immer

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) 3.7 Erstellen einer Collage Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) Dann Größe des Dokuments festlegen beispielsweise A4 (weitere

Mehr

Handbuch für Redakteure

Handbuch für Redakteure Handbuch für Redakteure Erste Schritte... 1 Artikel erstellen... 2 Artikelinhalt bearbeiten... 3 Artikel bearbeiten... 3 Grunddaten ändern... 5 Weitere Artikeleigenschaften... 5 Der WYSIWYG-Editor... 6

Mehr

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,

Mehr

Handbuch für Redakteure

Handbuch für Redakteure Handbuch für Redakteure Erste Schritte... 1 Artikel erstellen... 2 Artikelinhalt bearbeiten... 3 Artikel bearbeiten... 3 Trennen der Druck- und der Online-Version.. 4 Grunddaten ändern... 5 Weitere Artikel-eigenschaften...

Mehr

Herzlich willkommen zum Kurs "MS Word 2003 Professional"

Herzlich willkommen zum Kurs MS Word 2003 Professional Herzlich willkommen zum Kurs "MS Word 2003 Professional" 3 Datenaustausch Zum Austausch von Daten zwischen Word und anderen Programmen können Sie entweder über die Zwischenablage oder über Einfügen/Objekt

Mehr

Anleitung zur Verwendung der VVW-Word-Vorlagen

Anleitung zur Verwendung der VVW-Word-Vorlagen Anleitung zur Verwendung der VVW-Word-Vorlagen v1.0. Jun-15 1 1 Vorwort Sehr geehrte Autorinnen und Autoren, wir haben für Sie eine Dokumentenvorlage für Microsoft Word entwickelt, um Ihnen die strukturierte

Mehr

Viele Bilder auf der FA-Homepage

Viele Bilder auf der FA-Homepage Viele Bilder auf der FA-Homepage Standardmäßig lassen sich auf einer FA-Homepage nur 2 Bilder mit zugehörigem Text unterbringen. Sollen es mehr Bilder sein, muss man diese als von einer im Internet

Mehr

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software Wie erzeugt man ein Fotobuch im Internet bei Schlecker Seite Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software Punkt 12 bis 24: -Wir arbeiten mit der Software 8-16 -Erstellung

Mehr

Netzwerk einrichten unter Windows

Netzwerk einrichten unter Windows Netzwerk einrichten unter Windows Schnell und einfach ein Netzwerk einrichten unter Windows. Kaum ein Rechner kommt heute mehr ohne Netzwerkverbindungen aus. In jedem Rechner den man heute kauft ist eine

Mehr

So geht s Schritt-für-Schritt-Anleitung

So geht s Schritt-für-Schritt-Anleitung So geht s Schritt-für-Schritt-Anleitung Software WISO Mein Verein Thema Fällige Rechnungen erzeugen und Verbuchung der Zahlungen (Beitragslauf) Version/Datum V 15.00.06.100 Zuerst sind die Voraussetzungen

Mehr

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert Beamen in EEP Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert Zuerst musst du dir 2 Programme besorgen und zwar: Albert, das

Mehr

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen Menü Macro WinIBW2-Macros unter Windows7?... 1 Macros aufnehmen... 1 Menübefehle und Schaltflächen in Macros verwenden... 4 Macros bearbeiten... 4 Macros löschen... 5 Macro-Dateien... 5 Macros importieren...

Mehr

P&P Software - Adressexport an Outlook 05/29/16 14:44:26

P&P Software - Adressexport an Outlook 05/29/16 14:44:26 Adressexport an Outlook Wozu? Aus EASY können viele Daten im Excelformat ausgegeben werden. Diese Funktion kann zum Beispiel zum Export von Lieferantenadressen an Outlook genutzt werden. Hinweis Wir können

Mehr

Handbuch für Redakteure

Handbuch für Redakteure Handbuch für Redakteure Erste Schritte... 1 Artikel erstellen... 2 Artikelinhalt bearbeiten... 3 Artikel bearbeiten... 3 Grunddaten ändern... 5 Weitere Artikeleigenschaften... 5 Der WYSIWYG-Editor... 6

Mehr

Tipps und Tricks zu den Updates

Tipps und Tricks zu den Updates Tipps und Tricks zu den Updates Grundsätzlich können Sie Updates immer auf 2 Wegen herunterladen, zum einen direkt über unsere Internetseite, zum anderen aus unserer email zu einem aktuellen Update. Wenn

Mehr

Aufklappelemente anlegen

Aufklappelemente anlegen Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Kaiser edv-konzept, 2009. Inhaltsverzeichnis

Kaiser edv-konzept, 2009. Inhaltsverzeichnis Inhaltsverzeichnis Objektarchiv 3 Programmstart 3 Objects-Hauptfenster 5 Projektgliederung 6 Archiv 8 Auftragsarchiv 9 Wordarchiv 10 Bildarchiv 11 Dateiarchiv 12 E-Mail-Archiv 13 Bestell-Archiv 14 Link-Archiv

Mehr

Stammdatenanlage über den Einrichtungsassistenten

Stammdatenanlage über den Einrichtungsassistenten Stammdatenanlage über den Einrichtungsassistenten Schritt für Schritt zur fertig eingerichteten Hotelverwaltung mit dem Einrichtungsassistenten Bitte bereiten Sie sich, bevor Sie starten, mit der Checkliste

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Windows 98 / Windows NT mit NCP WAN Miniport-Treiber 23. Oktober 1998

Windows 98 / Windows NT mit NCP WAN Miniport-Treiber 23. Oktober 1998 Windows 98 / Windows NT mit NCP WAN Miniport-Treiber 23. Oktober 1998 XBMPD Windows 98 mit NCP WAN Miniport-Treiber 3 Benötigte Hard- und Software: 1. NCP ISDN ARROW Karte oder Box 2. Ihre CD-Rom mit dem

Mehr

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen. Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen. Klicken Sie auf Neu anlegen, um Ihre neue Angebotseite zu erstellen..

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Stepperfocuser 2.0 mit Bootloader

Stepperfocuser 2.0 mit Bootloader Stepperfocuser 2.0 mit Bootloader Info Für den Stepperfocuser 2.0 gibt es einen Bootloader. Dieser ermöglicht es, die Firmware zu aktualisieren ohne dass man ein spezielles Programmiergerät benötigt. Die

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

Medea3 Print-Client (m3_print)

Medea3 Print-Client (m3_print) Medea3 Print-Client (m3_print) Installationsanleitung Installationsanleitung m3_print.exe...2 1. Installieren von Ghostskript und Ghostview...2 1. Ghostskript...2 2. Ghostview...3 2. Kopieren des Print-Client-Programms...6

Mehr

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 14 und VMware Player

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 14 und VMware Player PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0)761 59018-201 Fax +49 (0)761 59018-130 Internet www.paragon-software.com E-Mail sales@paragon-software.com

Mehr

GITS Steckbriefe 1.9 - Tutorial

GITS Steckbriefe 1.9 - Tutorial Allgemeines Die Steckbriefkomponente basiert auf der CONTACTS XTD Komponente von Kurt Banfi, welche erheblich modifiziert bzw. angepasst wurde. Zuerst war nur eine kleine Änderung der Komponente für ein

Mehr

Nach dem Einstecken des mdentity wird die Anwendung nicht gestartet

Nach dem Einstecken des mdentity wird die Anwendung nicht gestartet Nach dem Einstecken des mdentity wird die Anwendung nicht gestartet Zum Start der Anwendung, nach dem Einstecken des midentity Geräts, gibt es mehrere Möglichkeiten. Sofern Sie das midentity Gerät unter

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. Der Serienversand Was kann man mit der Maske Serienversand machen? 1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. 2. Adressen auswählen,

Mehr

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY Vorteile der Verwendung eines ACTIVE-DIRECTORY Automatische GEORG Anmeldung über bereits erfolgte Anmeldung am Betriebssystem o Sie können sich jederzeit als

Mehr

Diese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer. Erste Anmeldung. Schritt 1: Anmeldung..2. Schritt 2: Passwort setzen 3

Diese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer. Erste Anmeldung. Schritt 1: Anmeldung..2. Schritt 2: Passwort setzen 3 Diese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer Inhalt Erste Anmeldung. Schritt 1: Anmeldung..2 Schritt 2: Passwort setzen 3 Schritt 3: Nachträgliches Ändern des Passworts..4 Schreiben

Mehr

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT Seite 1/7 GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT ZENTRAL LOKALE MANAGEMENT-PLATTFORM FÜR EINE W ELTWEIT SICHERE INDUSTRIELLE KOMMUNIKATION. Seite 2/7 Auf den folgenden Seiten

Mehr

Programme im Griff Was bringt Ihnen dieses Kapitel?

Programme im Griff Was bringt Ihnen dieses Kapitel? 3-8272-5838-3 Windows Me 2 Programme im Griff Was bringt Ihnen dieses Kapitel? Wenn Sie unter Windows arbeiten (z.b. einen Brief schreiben, etwas ausdrucken oder ein Fenster öffnen), steckt letztendlich

Mehr

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen Wir wollen, dass ihr einfach für eure Ideen und Vorschläge werben könnt. Egal ob in ausgedruckten Flyern, oder in sozialen Netzwerken und

Mehr

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen Anwendungshinweis Nr. 12 Produkt: Schlüsselworte: Problem: Softing OPC Easy Connect OPC Server, Redundanz Wie konfiguriere ich redundante Lösung: Ausgangssituation: Eine OPC Client-Anwendung ist mit mehreren

Mehr

Die Textvorlagen in Microsoft WORD und LibreOffice Writer

Die Textvorlagen in Microsoft WORD und LibreOffice Writer Die Textvorlagen in Microsoft WORD und LibreOffice Writer Liebe Teilnehmer(-innen) am Landeswettbewerb Deutsche Sprache und Literatur Baden- Württemberg, Diese Anleitung soll Ihnen helfen Ihren Wettbewerbsbeitrag

Mehr

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 11 und VMware Player

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 11 und VMware Player PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Schritthan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

Serienbriefe schreiben mit Ratio - Adressen (Microsoft Word Versionen 8.0 und 9.0)

Serienbriefe schreiben mit Ratio - Adressen (Microsoft Word Versionen 8.0 und 9.0) Serienbriefe schreiben mit Ratio - Adressen (Microsoft Word Versionen 8.0 und 9.0) Allgemeines Die in Ratio gespeicherten Adressen können jederzeit exportiert werden, um sie an anderer Stelle weiter zu

Mehr

Datei Erweiterungen Anzeigen!

Datei Erweiterungen Anzeigen! Einleitung Beim Kauf eines PCs werden die Dateierweiterungen sowie einige Dateien nicht angezeigt. Grund: Es gibt sehr viele Dateien die für das System ganz wichtig sind. Diese Dateien und auch Ordner

Mehr

NOXON Connect Bedienungsanleitung Manual

NOXON Connect Bedienungsanleitung Manual Software NOXON Connect Bedienungsanleitung Manual Version 1.0-03/2011 1 NOXON Connect 2 Inhalt Einführung... 4 Die Installation... 5 Der erste Start.... 7 Account anlegen...7 Hinzufügen eines Gerätes...8

Mehr

1. Einführung 2. 2. Erstellung einer Teillieferung 2. 3. Erstellung einer Teilrechnung 6

1. Einführung 2. 2. Erstellung einer Teillieferung 2. 3. Erstellung einer Teilrechnung 6 Inhalt 1. Einführung 2 2. Erstellung einer Teillieferung 2 3. Erstellung einer Teilrechnung 6 4. Erstellung einer Sammellieferung/ Mehrere Aufträge zu einem Lieferschein zusammenfassen 11 5. Besonderheiten

Mehr

Produktschulung WinDachJournal

Produktschulung WinDachJournal Produktschulung WinDachJournal Codex GmbH Stand 2009 Inhaltsverzeichnis Einleitung... 3 Starten des Programms... 4 Erfassen von Notizen in WinJournal... 6 Einfügen von vorgefertigten Objekten in WinJournal...

Mehr

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen 1. Einführung Über die Tabellen-Auswertungen können Sie eigene Auswertungen nach Ihren Wünschen erstellen. Diese Auswertungen werden immer anhand der aktuellen Daten aus orgamax ermittelt, Sie können also

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

Anleitung für Autoren auf sv-bofsheim.de

Anleitung für Autoren auf sv-bofsheim.de Anleitung für Autoren auf sv-bofsheim.de http://www.sv-bofsheim.de 1 Registrieren als Benutzer sv-bofsheim.de basiert auf der Software Wordpress, die mit einer Erweiterung für ein Forum ausgestattet wurde.

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü. Programm Die Bedienung des Programms geht über das Hauptmenü. Datenbank Schnittstelle Die Datenbank wir über die Datenbank- Schnittstelle von Office angesprochen. Von Office 2000-2003 gab es die Datenbank

Mehr

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003 Page 1 of 8 SMTP Konfiguration von Exchange 2003 Kategorie : Exchange Server 2003 Veröffentlicht von webmaster am 25.02.2005 SMTP steht für Simple Mail Transport Protocol, welches ein Protokoll ist, womit

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen Dateiname: ecdl5_01_02_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Access

Mehr

Kursangebot gesammelt einlesen

Kursangebot gesammelt einlesen Kursangebot gesammelt einlesen Übersicht Datenverwaltung Eine weitere Möglichkeit, Kursinformationen auf der Steirischen Weiterbildungsdatenbank zu veröffentlichen, stellt das Einlesen über eine Excel-Datei

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

COMPUTERIA VOM 25.2.15 SERIENBRIEFE UND ETIKETTENDRUCK

COMPUTERIA VOM 25.2.15 SERIENBRIEFE UND ETIKETTENDRUCK COMPUTERIA VOM 25.2.15 SERIENBRIEFE UND ETIKETTENDRUCK WAS SIND SERIENBRIEFE? Bei einem Serienbrief handelt es sich um eine Art Word Vorlage, bei der das gleiche Dokument mehrmals gedruckt werden muss,

Mehr