Startseite > Archiv > Artikel von Stefan A. Dittrich

Artikel von Stefan A. Dittrich

Als Abonnent haben Sie vollen Zugriff auf alle Artikel im Archiv. Zum Download eines Artikels und/oder der zugehörigen Quelltexte, klicken Sie den gewünschten Artikel einfach an.


Kommunikation via .NET

(dotnetpro 11/2007, Seite 20)
Client-Server-Architekturen sind nicht mehr nur für große Unternehmen sinnvoll. Dank .NET ist der Zugriff auf Serverdaten und -funktionen schon mit wenigen Zeilen Code zu realisieren. dotnetpro zeigt einige praktische Ansätze.

Mit VB.NET objektorientiert programmieren: Feinheiten der Vererbung

(dotnetpro 08/2007, Seite 82)
Die vorangegangenen Teile dieser Reihe zeigten die Technik der Klassenvererbung und -erzeugung. Dieser Teil widmet sich speziellen Details und zeigt die OOP-Finessen auch gleich in einem praktischen Beispiel: die Ableitung eines Steuerelements.

Mit VB.NET objektorientiert programmieren: Objekte erzeugen und kopieren

(dotnetpro 07/2007, Seite 90)
Objekte lassen sich auf verschiedenste Arten erzeugen – nicht nur mit dem Schlüsselwort New. Das objektorientierte Visual Basic .NET bietet dazu mannigfaltige Möglichkeiten. Welche davon die passende ist, hängt vom jeweiligen Anwendungsfall ab – und manchmal auch von den Vorlieben des Programmierers.

Mit VB.NET objektorientiert programmieren, Teil 1: Schnittstellen

(dotnetpro 06/2007, Seite 81)
Die Objektorientierung in Visual Basic 6 war immer schon etwas stiefmütterlich und unvollständig. Visual Basic .NET dagegen bietet echte OOP und eröffnet damit ganz neue Möglichkeiten. Begleiten Sie den Autor bei seiner Reise zu „echter“ OOP und betreten Sie ein neues Land.

Stefan steigt um (12)

(dotnetpro 02/2007, Seite 104)
Wer mit VB 6 nicht weiterkam, griff direkt auf das Win32-API zu. Vieles davon ist unter VB.NET nicht mehr nötig, aber möglich ist es immer noch. Die letzte Folge dieser Reihe widmet sich dem Win32-API und solchen Dingen wie Messages, Subclassing, Fenster-Handles und Device Contexts – aus der Perspektive von VB.NET.

Stefan steigt um – Teil 11

(dotnetpro 01/2007, Seite 110)
Mit VB.NET ist der Zugriff auf Schnittstellen einfacher als unter VB 6. Aber diese Einfachheit hat ihren Preis: Threading probleme sind zu lösen.

Stefan steigt um –Teil 10

(dotnetpro 12/2006, Seite 108)
Nicht immer ist eine vollständige Migration von VB 6 nach VB.NET möglich. Auch Zwischenlösungen sind machbar, etwa das Einbinden von Windows-Forms-Fenstern in VB-6-Projekte. Ein Toolkit von Microsoft erleichtert diese Aufgabe.

Der steinige Weg von VB6 nach VB.NET, Teil 9

(dotnetpro 11/2006, Seite 107)
Leichter landen Ist das Projekt endlich fix und fertig, muss es noch auf das Ziel system gebracht werden. In VB 6 gab es hierzu einen speziellen Assistenten. Visual Studio 2005 bietet einen eigenen Projekttyp.

Stefan steigt um – Teil 8

(dotnetpro 10/2006, Seite 118)
Bindungswillig Eine Datenmaske erstellen Sie in VB 6 und VB.NET, ohne eine einzige Zeile Code schreiben zu müssen. Die direkte Migration einer solchen Maske ist jedoch nicht möglich – da ist Handarbeit gefragt.

Stefan steigt um – Teil 7

(dotnetpro 09/2006, Seite 120)
Vernebelter Code Hat der Anwender eine gültige Softwarelizenz? Das eigene Lizenzierungssystem prüft unbestechlich. Aber ach! Der Code der Prüfroutine ist ja offen lesbar! Unter .NET helfen Obfuscatoren, den Code zu verschleiern.

Stefan steigt um – Teil 6

(dotnetpro 08/2006, Seite 106)
Mit VB.NET geht alles schneller? Im Prinzip ja, aber wenn man sich nicht auskennt, läuft das Programm nach der Umstellung sogar -langsamer. Stefan verrät, wie Sie bei lahmen Anwendungen den Turbo einschalten.

Stefan steigt um – Teil 5

(dotnetpro 07/2006, Seite 98)
Verschieden verpackt Daten? Braucht jedes Programm. Manchmal liegen sie in der Registry. Oder in einer INI-Datei. Oder sind noch anders verpackt. Auf dem Weg von VB 6 zu VB.NET sollen sie jedenfalls nicht verloren gehen. Stefan weiß, wie‘s geht.

Stefan steigt um – Teil 4

(dotnetpro 06/2006, Seite 106)
Late Binding, CallByName & Co. In VB 6 sind Serverobjekte leicht zu handhaben, und zwar selbst dann, wenn sie zur Entwurfszeit noch nicht bekannt sind. Prinzipiell funktioniert das auch in VB.NET ist aber hier nur über Umwege möglich. Richtig heikel ist jedoch das Bereitstellen von Serverobjekten. Und für DDE gibt es gleich gar keine Entsprechung mehr.

Stefan steigt um – Teil 3

(dotnetpro 05/2006, Seite 84)
Print, Autoredraw & Co. Bei der Ausgabe auf Bildschirm und Drucker weichen VB 6 und VB.NET besonders stark voneinander ab. Mit einigen Hilfsklassen gelingt Stefan aber auch hier eine Migration mit vertretbarem Aufwand.

Stefan steigt um – Teil 2

(dotnetpro 04/2006, Seite 108)
Migrationsprobleme ade Der Anfang ist geschafft, Stefan taucht nun tiefer ein in VB.NET. Er entdeckt dabei, dass sich viele Probleme beim Umstieg von VB 6 auf VB.NET ganz einfach beheben lassen. Lesen Sie in diesem Teil, wie Sie Migrationshindernisse schnell aus dem Weg räumen.

Stefan steigt um

(dotnetpro 03/2006, Seite 98)
Von VB 6 auf VB.NET umsteigen In jüngster Zeit häufen sich für die VB-6-Gemeinde die Hiobsbotschaften: Microsoft stellt den Support für VB 6 ein, es sind keine weiteren Service Packs zu erwarten und so weiter. Es ist traurig, aber wahr: VB-6- Entwickler befinden sich auf dem absteigenden Ast. Damit ist es allerhöchste Zeit, auf VB.NET umzusatteln. dotnetpro lässt Sie in dieser Situation nicht allein, denn auch Stefan steigt um!

Pausengong , Wechsel in den Ruhezustand erkennen

(dotnetpro 10/2005, Seite 74)
Wird ein Rechner in den Standby- oder Ruhezustand geschickt, bekommen die meisten Programme das gar nicht mit. Manchmal ist es aber notwendig, dies zu erkennen. dotnetpro zeigt, wie Ihr Rechner wach bleibt, auch wenn der Pausengong ertönt.

Sichere Passwort-Eingaben

(dotnetpro 7-8/2005, Seite 98)
Die Eingabe eines Kennworts in einer Textbox mit definiertem PasswordChar ist zwar optisch nicht lesbar, aber trotzdem leicht auszuspionieren. Die nötige Spionagetechnik beruht auf der Windows-API oder Messaging. Modifizierte Eingabefelder schließen diese Sicherheitslücke weitgehend. Die meisten Passworteingaben werden mit einer Textbox realisiert, deren PasswordChar-Eigenschaft auf ein Sternchen gesetzt ist. Ob nun eine gespeicherte Vorgabe eingetragen oder vom Anwender ein Passwort eingegeben wird: Der Text ist nicht lesbar. Jedenfalls nicht für Menschen.

Standardeigenschaften

(dotnetpro 2/2005, Seite 99)
Eigentlich hieß es, dass bei Visual Basic .NET die aus Bequemlichkeit gern verwendeten Standardeigenschaften von Objekten entfallen würden. Dennoch gibt es diese Standardeigenschaften auch in .NET, und sie lassen sich sogar vom Entwickler definieren.

Dropdown-Breite von Comboboxen festlegen

(dotnetpro 2/2005, Seite 98)
Eine Dropdown-Liste oder Combobox zeigt beim Anklicken eine Liste mit möglichen Werten an. Manchmal ist diese Liste zu schmal, um die Inhalte darzustellen, aber dieses Manko lässt sich einfach beheben.

Überladen von ToString in Visual Basic .NET

(dotnetpro 2/2005, Seite 54)
Viele Funktionen greifen auf die sprachliche Repräsentation von Objekten über die ToString-Methode zu. Damit diese auch sinnvolle Ergebnisse liefert, bietet es sich des Öfteren an, sie zu überladen. Im Grunde ist das recht einfach, wenngleich unter Visual Basic .NET dabei auch eigenartige Effekte auftreten können – ganz im Gegensatz zu C#.

Sonderzeichen in SQL-Kommandos unter ADO.NET

(dotnetpro 12/2004, Seite 112)
INSERT Murks? Möglicherweise haben Sie es noch gar nicht bemerkt, aber wenn Sie mithilfe von SQL-Anweisungen Texte in Datenbanken eintragen, spielt deren Zusammensetzung eine entscheidende Rolle. Bestimmte Sonderzeichen verwirren ADO.NET, und der SQL-Aufruf kann scheitern. Mit einem einfachen Trick sichern Sie sich ab.

Verfügbare Grafik-Codecs des .NET Frameworks

(dotnetpro 11/2004, Seite 104)
Das Laden und Speichern von Bildern ist über die jeweiligen Methoden ein Kinderspiel. Soll der Anwender jedoch ein beliebiges Dateiformat auswählen können, stellt sich die Frage, über welche Formate und Codecs das System eigentlich verfügt. Diese Frage ist leicht zu beantworten.

Abhängigkeiten eines .NET-Programms ermitteln

(dotnetpro 11/2004, Seite 105)
Die in Visual Studio .NET angezeigten Verweise geben die Assemblies an, mit denen das aktuelle Projekt verknüpft ist. Zur Fehlersuche beim Kunden kann es sehr hilfreich sein, all diese Abhängigkeiten nebst Versionen auch zur Laufzeit sichtbar zu machen.

Die Prozessorlast in Schleifen reduzieren

(dotnetpro 9/2004, Seite 99)
Prozessorschoner Auch im Zeitalter der ereignisorientierten Programmierung werden Warteschleifen eingesetzt. Sie sind nötig, wenn das Programm eine bestimmte Zeit lang oder auf einen bestimmten Zustand warten soll. Mit einem Trick können Sie die Prozessorlast solcher Wartschleifen drastisch reduzieren.

JITter-Exceptions abfangen

(dotnetpro 9/2004, Seite 30)
Fehler zur Unzeit Mit Try…Catch-Blöcken lassen sich Ausnahmen behandeln. Diese Methode funktioniert aber nur, wenn der Code auch tatsächlich ausgeführt wird. Verursacht hingegen bereits der JIT-Compiler einen Fehler, scheitert dieses Verfahren. dotnetpro zeigt die einfache Lösung.

Globaler Exception-Handler

(dotnetpro 9/2004, Seite 24)
Notausgang Auch in den besten Programmen kommt es zu Fehlern. Im schlimmsten Fall führt ein Absturz zu unkontrolliertem Datenverlust. Aber dieser Anwendungs-GAU lässt sich verhindern, wenn ein zentraler Exception-Handler auch unerwartete Fehler abfängt. dotnetpro zeigt, wie Sie in Ihre Anwendungen einen Notausgang einbauen.

XP-Stil in VB.NET

(dotnetpro 6/2004, Seite 108)
Stilwandel Die Optik von Dialogen und Steuerelementen unter Windows XP lässt sich über ein Manifest aktivieren – dotnetpro berichtete bereits darüber. Seit dem .NET Framework 1.1 ist es allerdings auch möglich, auf das Manifest zu verzichten.

Enums in VB.NET

(dotnetpro 6/2004, Seite 105)
Nummern mit Namen Schon in alten VB-Zeiten haben Enumerationen für Werteauflistungen das Programmieren erleichtert und den Code lesbarer gemacht. Im .NET Framework sind solche Enumerationen noch erheblich vielseitiger geworden.

Owner-Formular in Visual Basic 6 ohne Absturz schließen

(dotnetpro 5/2004, Seite 94)
Vatermord vor offenem Fenster Die Anzeige eines Formulars mit Angabe eines Owner-Fensters ist eine gängige Technik. Soll jedoch aus diesem Kindfenster heraus der Owner geschlossen werden, kommt es leicht zu einem Hänger. Mit einem kleinen Trick lässt sich dies jedoch vermeiden.

Animierte Mauszeiger in VB6-Programmen

(dotnetpro 3/2004, Seite 103)
Fang die Maus Das Einbinden einer Mauszeiger-Datei in die MouseIcon-Eigenschaft ist einfach. Es hat den Nachteil, dass sich keine animierten Mauszeiger aus ANI-Dateien einbinden lassen. dotnetpro zeigt, wie das mit einem einfachen Trick dennoch möglich ist.

VB6-IDE im XP-Look

(dotnetpro 3/2004, Seite 102)
XP-Stil betreiben können. Verwandlungskünstler VB6-Programme lassen sich per Zusatzdatei oder in die Ressourcen eingebundenes Manifest im XP-Look erstellen. Das Erscheinungsbild lässt sich aber nur über die kompilierte exe-Datei testen, was den Entwurf erschwert. dotnetpro verrät einen Trick, wie Sie auch die VB6-IDE selbst im

Control-Arrays in VB.NET

(dotnetpro 3/2004, Seite 98)
Kontrolle über das Rudel Der Mechanismus der Control-Arrays in Visual Basic ist eine wunderbare Sache, um zusammengehörende Steuerelemente als Gruppe zu verwalten. Man kann sie zur Entwurfszeit oder dynamisch zur Laufzeit verwalten, wodurch ein flexibles Design stark erleichtert wird. dotnetpro zeigt, wie es geht.

Debug-Funktionen verbergen

(dotnetpro 2/2004, Seite 88)
Nur für meine Augen bestimmt Testfunktionen in ein Programm zu integrieren, gehört zur alltäglichen Arbeit eines jeden Entwicklers. Da der Anwender diese Funktionen aber keinesfalls zu sehen bekommen sollte, müssen sie vor dem Release wieder entfernt werden. Um dieses lästige „Rein und Raus“ zu umgehen, bieten sich verschiedene Ansätze an.

Bitte-warten-Fenster verzögert einblenden

(dotnetpro 2/2004, Seite 86)
Die Ungeduld zügeln Wenn Prozesse mal etwas länger dauern, sollte der Anwender informiert werden. Das gehört zum guten Ton. Ist die Dauer des Prozesses aber nicht bekannt, sollte dies mit einer Verzögerung geschehen.

Listview mit Hintergrund versehen

(dotnetpro 9/2003, Seite 126)
Die große weiße Fläche, die ein spärlich gefülltes ListView-Element anzeigt, ist nicht nur langweilig, sondern auch ergonomisch fragwürdig. Einige Programme schaffen es, hier ein Hintergrundbild als Wasserzeichen anzuzeigen. Auch in Visual Basic 6 ist dies möglich, wenn auch mit kleinen Hindernissen.

Einblenden mit Effekten unter Windows 2000/XP

(dotnetpro 7/2003, Seite 124)
Die ansprechenden Transparenz- und Abblendungseffekte von Windows XP sind nicht nur effektiv, sondern auch relativ leicht in eigene Programme integrierbar. Durch einfache API-Aufrufe lassen sich Alphablending und Transparenz unter Windows 2000 oder XP realisieren.

Plug-ins für Standard-EXE-Anwendungen erstellen und einbinden

(dotnetpro 7/2003, Seite 114)
Das dynamische Einbinden von Zusatzfunktionen geschieht üblicherweise über Plug-ins. Hierfür gibt es verschiedene Ansätze, die jedoch meist eine ActiveXEXE erfordern. Dass aber auch eine Standard-EXE verwendet werden kann, zeigt dieser Beitrag.

Fehler in der Druckerauswahl per ShowPrinter beheben

(dotnetpro 6/2003, Seite 117)
Die Druckerauswahl per Common Dialog funktioniert nicht zuverlässig und hat manchmal keine Auswirkung auf das Printer-Objekt. Mit einem Trick lässt sich dieses Problem beheben.

Nie mehr Form_Resize: eine universelle Form-Resizer-Klasse

(dotnetpro 5/2003, Seite 114)
Bei einer Größenänderung eines Fensters sind alle Elemente entsprechend anzupassen. Diese mühsame Arbeit kann Ihnen eine universelle Resizer-Klasse abnehmen, die einfach einzusetzen ist und dennoch Ausnahmen zulässt.

Jedem Formular sein Fenster: Festlegung der minimalen und maximalen Fenstergröße

(dotnetpro 5/2003, Seite 104)
Das Begrenzen der Fenstergröße bei Formularen mit veränderbaren Rändern kann mit einigen Tricks und ein wenig Programmieraufwand professionell realisiert werden.
Login
Sie sind nicht eingeloggt.

Login & Registrierung
Abo bestellen




Anzeige







Newsletter
Tragen Sie Ihre E-Mailadresse für den kostenlosen Newsletter von dotnetpro ein.


Umfrage
Würden Sie sich zutrauen, einen Compiler zu schreiben?





Ergebnis anzeigen