Die Community zu .NET und Classic VB.
Menü

Newsletter 09/2000

 von 

Inhalt  

Der zweite Newsletter in diesem Monat. In diesem Newsletter wollen wir Euch über drei Themen informieren:
1. Was sind eigentlich COM-Objekte?
2. Was ist C# für eine Programmiersprache?
3. Gibt es eine einfache Möglichkeit eine Uhr in einem UserForm darzustellen?

Vorab einige Hinweise: Wir verwenden in diesem Newsletter Begriffe, die unter dem Copyright und/oder dem Trademark von Microsoft stehen; hierunter fallen z. B. Begriffe wie Microsoft (R) Windows (R), Visual Basic, C#, u. s. w.

COM-Objekte

Den Begriff "COM-Objekt" haben wahrscheinlich schon viele gehört; aber was verbirgt sich genau dahinter?
COM = Component Object Model

Ein COM-Objekt ist ein ausführbarer Code. Letztendlich ist ein Standard für den Aufbau dieser Dateien definiert. Bei den Dateien handelt es sich um 32-Bit-DLL-Dateien oder ausführbare Programme (.exe).
COM-Objekte sind in binärem Format zu verschicken und grundsätzlich sprachunabhängig. Die Entwicklung mit nahezu jeder aktuellen Programmier sprache ist denkbar (sofern die Sprache entsprechend angepasst wird). Die COM-Objekte kommunizieren über ein Standardprotokoll über die Standardschnittstelle; z. B. kann eine DLL in C++ programmiert und in Visual Basic verwendet werden oder umgekehrt.
Für die neuen Office-Produkte (2000er Reihe) können COM-Add-Ins verwendet werden. Die Funktionalität von VBA kann somit erweitert werden.

C#

Alle reden darüber - und wir haben uns informiert. Bitte beachte, daß die nachfolgenden Zeilen auf Recherchen basieren und somit keine Gewähr für die Richtigkeit übernommen werden kann. Wir lehnen jede Haftung ab, sofern eine oder mehrere der nachfolgend dargestellten Informationen nicht korrekt sind.

C# - sprich C Sharp. Es ist neu und es soll sehr leistungsfähig sein.
Für die professionelle Entwicklung besonders schneller Anwendungen wurde bisher C/C++ verwendet. Die Entwicklung in C/C++ war in der Vergangenheit mit nicht unerheblichem Aufwand verbunden und um eine Anwendung schnell und benutzerfreundlich zu produzieren wurde sehr oft auf Visual Basic zurückgegriffen.
C# soll die Vorteile von Visual Basic und C/C++ nunmehr vereinen. Die Produktivität soll durch dieses neuartige Konstrukt erhöht werden und einige umständliche Programmierhürden in C/C++ wurden einfach umgeklappt.

Einige Punkte im Detail:

  • C# ist ein Produkt der "neuen" Microsoft .NET Plattform und beinhaltet somit die neuesten web-Entwicklungserweiterungen.
  • C# soll häufige und kostenintensive Programmierfehler in C/C++ beseitigen; z. B. wird das Speichermanagement nunmehr weitestgehend von C# übernommen und Variablen werden automatisch von der Umgebung initialisiert. Trotzdem ist vorgesehen ein manuelles Speichermanagement bei Bedarf bereitzustellen - ebenso eine Pointernutzung.
  • C# wird durch die Sprachsyntax und -Features ein besseres Mapping zwischen dem Geschäftsprozeß und der späteren Programmierung zulassen (bessere Geschäftsprozeßmodellierung).
  • Durch C# wird jedes Objekt automatisch ein COM-Objekt. Auf die Implementierung von IUnknown und anderen COM-Interfaces kann verzichtet werden. C# wird natürlich auch auf fertige COM-Objekte zugreifen können. Die API-Unterstüzung wird ebenso selbstverständlich sein.
  • C# wird selbstverständlich objekt-orientiert sein. Allerdings sollen bisher komplexe Vererbungsmechanismen durch übersichtliche Features vereinfacht oder gar substituiert werden.
  • Der Sprachsyntax von C# ähnelt sehr der C/C++- respektive Java-Syntax. Das bedeutet für jeden Programmierer, der C# nutzen möchte, daß er bestens bereits C/C++ oder Java beherrscht. Einige Definitionen und Objektzugriffe wurden erheblich durch globale Initialisierungen vereinfacht. Arraydefintionen erhalten eine besondere Flexibilität (Array vom Array vom Array vom Array). Die Sprache ist grundsätzlich ein wenig kompakter und damit auch für die Teamarbeit von Vorteil (übersichtlicher).

Tipp / Uhr

Wie kann ich eine einfache Uhr in eine Form einfügen?

Definiere auf der Form ein Label - z. B. Label1.
Folgender Code muß eingetippt werden:

Private Sub Form_Load()
    Timer.Interval = 0.5
End Sub

Privat Sub Timer1_Timer()
    Label1.Caption = Time
End Sub

Du siehst in dem Code, daß das Caption-Objekt von Label1 durch "Time" aktualisiert wird. Natürlich kann Time auch durch andere Dinge, z. B. "Date" ersetzt werden. Allerdings sollte das Datum dann noch mit dem "Format"-Befehl auf das notwendige Datumsformat umgestellt werden. Letztendlich sollte allerdings eine so einfache Funktion wie "Date" nicht mit dem verwendeten Timer genutzt werden, da jede Sekunde einmal der jeweilige Wert - hier "Time" - abgeholt wird. Aufgrund der Tatsache, daß sich das Datum nur einmal am Tag ändert, wäre diese Vorgehensweise sicherlich eine Verschwendung von Ressourcen.

Schlußwort

Wir hoffen, daß der aktuelle ActiveVB-Newsletter interessant für Dich wahr.
Über Feedback - natürlich auch negatives - freuen wir uns jederzeit; schließlich wollen wir unseren Service für Euch ständig verbessern.

Euer ActiveVB-Team