Kein Bild kein Ton mit der Mini-DV Kamera an meinem Firewire IEEE 1394 Anschluss

Längst überfällig bin ich mit der Digitalisierung meiner Familienvideos. Für die alten VHS und VHS-C Aufnahmen habe ein Capture Device von Elgato, was auf einfache Weise macht was es soll.

Aber meine digitale Panasonic DS990 Kamera würde ich gerne direkt anschließen. Mein Nero Video Capture erlaubt mir zwar die Kamera zu bedienen, aber es kommt weder Ton noch Bild an. Einfach nur schwarzes Bild. Wechseln des Kameratreibers brachte nichts.
Ich erinnere mich, das ich das Problem vor Jahren mit Windows 7 auch schon hatte. Da gehörte ein 1394 Legacy Treiber zum Installationssatz und mit dem lief auch meine Panasonic. In Windows 10 finde ich das aber nicht. Zudem hatte ich damals noch 32bit und heute natürlich eine 64bit Installation.

Etwas Recherche in im Netz brachte mich zu dieser Seite:
http://support.microsoft.com/en-us/kb/2970191

OK. Was in Windows 8 und 8.1 geht auch in Windows 10. Also Treiber herunter geladen und installiert. Das brachte aber keinen Erfolg. Ich konnte den Treiber auch nicht nicht auswählen. Also habe ich das MSI-Installationspaket mit meinem SpeedCommander entpackt und finde in der 64bit Versi0n sowohl 32bit als auch 64bit Treiber.

Nun das ganze nochmal:

  • Gerätemanager gestartet.
  • IEEE 1394 ausgewählt.
  • Treiber aktualisieren
  • Auf dem Computer nach Treibersoftware suchen
  • Pfad angeben mit dem extrahierten Treiber
  • Und dann den Legacy Treiber auswählen.

Siehe da. Nun läuft auch mein Capture mit Nero und meiner Panasonic Mini-DV perfekt.

In der Liste der installierten Treiber kann ich nun den Firewire Port mit dem neuen und dem Legacy Treiber wahlweise betreiben.

Office 2016… muss das sein?

Heute musste ich einen neuen/alten Laptop für unseren Vertrieb fertig machen. Darunter musste ich auch Office 2016 Plus installieren. Und da sind mir doch gleich ein paar Dinge sehr negativ/eigentümlich aufgefallen.

  1. Es gibt nur noch eine gemischte x86/x64 Version
  2. Kaum hatte ich das ISO Image gemounted und starte das Setup, beginnt auch schon die Installation. Das will ich doch eigentlich nicht. Auf diesem Laptop würde ich gar nicht alles installieren wollen. Es erfolgt keine Frage wohin ich installieren will. Nix.
    Das kann es ja wohl nicht sein.
  3. Ich könnte eine Wette abschließen, dass die Verzeichnisstruktur, die gewählt wurde ein Bug im Setup ist. Installiert wurde bei mir die 32bit Version (woher weiß das Setup, dass ich die wollte?)! Das Ziel Verzeichnis ist C:\Program Files (x86)\Microsoft Office\root\Office16, aber ein fast leeres C:\Program Files (x86)\Microsoft Office\Office16 Verzeichnis gibt es auch. Und eigentlich sehe ich unter dem root Verzeichnis wieder einiges was früher einfach unter C:\Program Files (x86)\Microsoft Office\ lag.

Wie kann es sein, dass man ein Setup nicht mal mehr so baut, dass ich ohne extra Programm entscheide wohin und was installiert wird? Unfassbar….

Bye Bye MVP-Award

Alles hat seine Zeit… (Prediger 3,1)

Eine kleine Ära geht für mich zu Ende. Vor kurzem erhielt ich von Microsoft die Information, dass ich dieses Jahr nicht neu zum C++ MVP nominiert werde.

Seit 2000 bis einschließlich 2014 habe ich diesen Titel insgesamt 16 mal erhalten. Über den Sinn und Zweck dieser Ehre mag man streiten. Stolz bin ich trotzdem drauf. Und gerade weil es mir mit anderen MVPs auch gelungen ist doch manchmal etwas Dampf und Druck zu machen. Z.B. damals für eine längere XP-Unterstützung, die wurde in VS-2012 Update 1 dann nachgeliefert. Obwohl ich klar sagen muss, dass die grundsätzliche Möglichkeit Einfluss zu nehmen in den letzten Jahren immer weiter abgenommen hat.

Hauptgrund ist sicherlich meine eingeschränkte Online Aktivität und auch meine nunmehr eingeschränkte Blog-Aktivität. Und um ehrlich zu sein: Ich hatte es irgendwann erwartet.

Meinen Blog werde ich deshalb nicht einstampfen und auch Online werde ich noch hier und da anzutreffen sein.
Also wird sich so viel für Euch gar nicht ändern… 😎

Universal CRT auf Windows 7, Vista und Windows 8.0/8.1 wird über Windows Update ausgerollt

Eine „Spaßbremse“ Software mit Visual Studio 2015 auszuliefern war bisher in jedem Fall das Universal CRT.

Im Speedproject.de Blog ist davon auch einiges zu lesen gewesen:
Noch kein Umstieg auf VS-2015
Anwendungslokaler Einsatz der Universal CRT
Visual Studio 2015 und die Universal CRT

Dieses Paket musste man zusätzlich mit installieren auf allen Systemen die Windows 7, Vista oder Windows 8.x verwendet haben. Die Probleme und das Nachfragen von Entwicklern hat nun Wirkung gezeigt.
Microsoft veröffentlicht den KB2999226 über Windows Update. Damit entfällt das Ausrollen mit dem eigenen Setup.

angeboten bzw. installiert wurde.

Danke für den Hinweis an Michael Külshammer. (siehe auch dotnetpro)

Nachtrag:
Bei mir erscheint jetzt auf meinen Windows 7 Rechner das entsprechende Update als optionales Update
KB2999226

TFS-2015 inplace Upgrade in ca. 30 Minuten

Heute habe ich mir mal Zeit genommen ein Upgrade meines TFS-2013 auf TFS-2015 durchzuführen.
Mein Windows 2008R2 Server war mit SQL 2012 Server direkt bereit für das Update.

Summa summarum etwas mehr als 30 Minuten bis ich den folgenden Bildschirm hatte.

TFS-Upgrade3

Die Schritte waren:

  1. „Extra“ Backup des TFS
  2. Windows Update für virtuelle Maschine explizit noch mal ausführen.
  3. Snapshot der virtuellen Maschine ausführen.
  4. TFS-2015 Installation ausführen
  5. Beim automatischen Ausführen des Upgrade Wizards wurde erkannt, dass Powershell 3.0 nicht installiert ist. Sprich das Windows Management Framework 4.0 fehlte.
  6. Nach der Installation war leider ein Neustart fällig und der Upgrade Wizard wurde dadurch abgebrochen.
  7. Dann dauerte es leider etwas bis ich den Upgrade Wizard wieder „gefunden“ habe… 😉
    TFS Management Console starten -> Anwendungsebene auswählen -> Komponentenkonfiguration auswählen und im Konfigurationscenter dann Upgrade auswählen
  8. Abschließend die Reste des TFS und des alten Datei Caches aus „C:\Program Files\Microsoft Team Foundation Server 12.0“ entfernen.
  9. Done!

 

Die Sache mit dem toten Pferd :-)

Angeblich gibt es eine Weisheit der Dakota Indianer die besagt: „Wenn Du entdeckst, dass Du ein totes Pferd reitest, steig ab.“

Ich bezweifle schwer, dass die Indianer solch eine Dämlichkeit tatsächlich als Weisheit in Ihren Überlieferungen haben. Wie auch von anderen Quellen im Netz wird dieser Satz eher Börsenspekulanten zugeschrieben, die in etwa so geartet ist wie: Versuche nie, ein fallendes Messer aufzufangen!

Aber ganz egal. Um diese „Weisheit“, die jedem Menschen sofort logisch, emotional und auch inhaltlich einleuchtet ranken sich je nach Betriebsfeld und Umgebung weitere nette hilfreiche Anmerkungen. Ich war im Netz ein wenig Suchen und habe von allen möglichen Seiten (Unternehmensberatungen, Seminaren, Politik) einmal Varianten gesammelt, denn die Sätze gefallen mir einfach und leider gehört es zu unser aller Alltag, dass jeder von uns schon mal ein totes Pferd geritten hat, oder evtl. sogar aktuell eines im Stall stehen hat.

Hier also meine kleine Sammlung, die ich gekürzt und zusammengefasst habe in alphabetischer Ordnung. Dabei darf sich jeder selbst seine Gedanken dazu machen aus welchem Anwendungsbereich der Rat wohl kam. Übrigens finde ich persönlich den Abschnitt mit den Strategien am Besten.
Also viel Spaß beim Schmunzeln! 🙂

  • Das Pensions Eintrittsalter für tote Pferde wird drastisch verringert.
  • Das tote Pferd wird „reengineert“.
  • Es werden Berater engagiert um das Reiten toter Pferde zu optimieren.
  • Es werden Mittel eingekauft, die tote Pferde schneller laufen lassen.
  • Es wird angeordnet, daß Pferde nicht mehr mitten im Fluß gewechselt werden dürfen, weil dies die Ursache des Todes gewesen sein könnte.
  • Es wird restrukturiert, damit das tote Pferd in einem anderen Bereich tätig ist.
  • Im Rahmen eines internationalen Artenschutzabkommens verpflichten sich alle Partner, das Aussterben toter Pferde zu verhindern.
  • Wir beantragen Fördermittel der EU aus dem Landwirtschaftsfond für Pferdehaltung.
  • Wir beauftragen eine renommierte Beratungsfirma mit einem Gutachten, ob es billigere und leistungsfähigere tote Pferde gibt.
  • Wir berufen einen ämterübergreifenden Arbeitskreis, um das tote Pferd zu analysieren.
  • Wir beschäftigen externe Berater, die erklären, wir müssten Personal entlassen, um das tote Pferd preiswerter zum traben zu bringen.
  • Wie beschließen Feinstaubplaketten und Abwrackprämien für Pferde.
  • Wir besorgen eine größere Peitsche.
  • Wir besorgen eine Peitsche die größere Schmerzen verursacht.
  • Wir besorgen eine stärkere Peitsche.
  • Wir besuchen andere Orte, um zu sehen, wie man dort tote Pferde reitet.
  • Wir besuchen andere Verwaltungen, um zu sehen, wie man dort tote Pferde reitet.
  • Wir besuchen teure Seminare um mehr über die Lebensgewohnheiten toter Pferde zu lernen.
  • Wir bezahlen eine Tierarzt, der das Innere des Pferdes umorganisiert.
  • Wir bilden eine neue Abteilung und integrieren alle toten Pferde um Synergien zu nutzen.
  • Wir bilden eine Task-Force, um das Pferd wiederzubeleben.
  • Wir bilden einen Gebetskreis, der das Pferd gesund betet.
  • Wir bilden einen Qualitätszirkel, um eine Verwendung für tote Pferde zu finden.
  • Wir bilden innerhalb der Verwaltung ein neues Sachgebiet mit Integration aller toten Pferde, um Synergieeffekte zu nutzen.
  • Wir bringen die toten Pferde unter einem phantasievollen Namen an die Börse.
  • Wir bringen im Rahmen des Budgets die Produkt- und die Finanzverantwortung des toten Pferdes zur Deckung.
  • Wir definieren ein eigenes Produkt „Reiten toter Pferde“.
  • Wir entwickeln ein Motivationsprogramm für tote Pferde.
  • Wir erhöhen die Qualitätsstandards für den Beritt toter Pferde.
  • Wir erklären, dass ein totes Pferd von Anfang an unser Ziel war.
  • Wir erklären, dass das Reiten toter Pferde alternativlos ist.
  • Wir erklären, dass unser Pferd besser, schneller und billiger tot ist als andere Pferde.
  • Wir erklären: Die Eltern des Pferdes und das Privatfernsehen seien Schuld.
  • Wir erklären: Die toten Pferde anderer Organisationen seien noch toter als unseres.
  • Wir erklären: Durch eine gesamteuropäische Lösung würde das Pferd wieder laufen.
  • Wir erklären: Kein Pferd kann so tot sein, das wir es nicht mehr reiten können.
  • Wir erklären: Kein Pferd kann so tot sein, dass man es nicht doch motivieren könnte.
  • Wir erklären: Kein Pferd kann so tot sein, dass man es nicht noch schlagen könnte.
  • Wir erklären: So haben wir das Pferd doch immer geritten.
  • Wir erklären: Wenn man das tote Pferd schon nicht reiten kann, dann kann es doch wenigstens eine Kutsche ziehen.
  • Wir erläutern dem Pferd, dass sein Verhalten zur Privatisierung öffentlicher Dienstleistungen führen könnte.
  • Wir ernennen einen Verwaltungsmitarbeiter zum Beauftragten für das Totepferdewesen.
  • Wir erschießen alle lebendigen Pferde, um die Chancen unseres toten Pferdes zu erhöhen.
  • Wir erstellen eine Präsentation in der wir aufzeigen, was das Pferd könnte, wenn es noch leben würde.
  • Wir frieren die Pferde ein und warten auf eine neue Technik, die es ihnen ermöglicht, tote Pferde zu reiten.
  • Wir gewähren dem Reiter eine Leistungspämie, um seine Motivation zu erhöhen.
  • Wir gründen einen Arbeitskreis, um das Pferd zu analysieren.
  • Wir gründen eine Kommission, um den Sattel zu analysieren.
  • Wir kaufen etwas zu, das tote Pferde schneller laufen lässt.
  • Wir kaufen Leute von außerhalb ein, die angeblich tote Pferde reiten können.
  • Wir laden zu einem Dead-Horse-20-Gipfel ein, mit vielen Fotos für die Pferdenachrichten.
  • Wir lassen das tote Pferd 48 Stunden ausruhen und probieren aus, ob es danach wieder läuft.
  • Wir lassen das tote Pferd nach DIN EN ISO 9001 zertifizieren.
  • Wir lassen den Stall renovieren.
  • Wir legen das tote Pferd bei jemand anderem in den Stall und behaupten, es sei seines.
  • Wir leugnen, jemals ein Pferd besessen zu haben.
  • Wir machen auf Kosten der Pferdebesitzer Urlaub in anderen Ländern, um zu sehen, wie man dort tote Pferde reitet.
  • Wir machen eine Studie, um zu sehen, ob es bessere oder billigere Pferde gibt.
  • Wir machen eine Studie, um zu sehen, ob es billigere Berater gibt.
  • Wir melden das Pferd bei einem Weiterbildungskursus zur Selbstmotivation an.
  • Wir nennen das tote Pferd „Dead Horse Power“ und bieten es als neuestes Produkt auf dem zentralafrikanischen Markt an.
  • Wir ordnen Überstunden für Reiter und Pferd an.
  • Wir organisieren regelmäßige Teamgespräche mit einem externen Supervisor, um die Kommunikation zwischen Reiter und totem Pferd zu verbesseren.
  • Wir outsourcen das tote Pferd. Der Subunternehmer kann es wahrscheinlich besser reiten.
  • Wir praktizieren „Lean-Horse-Management“, d.h. wir führen Schulungen mit dem Reiter durch, um das tote Pferd mit Hilfe einer optimierten Ernährung von überflüssigen Pfunden zu befreien.
  • Wir richten eine unabhängige Kostenstelle für tote Pferde ein.
  • Wir schicken den Reiter auf ein Weiterbildungsseminar, damit er besser reiten lernt.
  • Wir schieben eine Trainingseinheit ein, um besser reiten zu lernen.
  • Wir schirren mehrere tote Pferde zusammen an, damit sie gemeinsam schneller werden.
  • Wir schlagen dem Personalrat vor, Leistungsanreize für tote Pferde einzuführen.
  • Wir schließen mit dem Personalrat eine Dienstvereinbarung über den Einsatz toter Pferde in der Verwaltung.
  • Wir schließen mit dem Reiter eine Zielvereinbarung über das Reiten toter Pferde.
  • Wir schließen uns einem interkommunalen Vergleichsring an, um entsprechend dem best-practice-Gedanken das tote Pferd zu optimieren.
  • Wir schreiben die Stelle des Reiters des toten Pferdes bundesweit aus, nachdem sich aus dem eigenen Haus kein qualifizierter Bewerber gefunden hat.
  • Wir senden jemandem das tote Pferd als Geschenk. Geschenke darf man nicht zurücksenden.
  • Wir setzen den Reiter um und schreiben die Stelle verwaltungsintern aus.
  • Wir sourcen das Pferd aus.
  • Wir sourcen den Stall für tote Pferde aus, um Futterkosten zu sparen.
  • Wir starten einen internen Ideenwettbewerb zum Reiten toter Pferde.
  • Wir stellen dem Reiter eine Beförderung in Aussicht.
  • Wir stellen fest, dass die anderen auch tote Pferde reiten und erklären dies zum Normalzustand.
  • Wir stellen Vergleiche unterschiedlicher toter Pferde an.
  • Wir strukturieren um damit ein anderer Bereich das tote Pferd bekommt.
  • Wir suchen einen finanzstarken Partner aus der Privatindustrie und gründen zusammen mit dessen toten Pferden ein Public-Private-Partnership-Projekt.
  • Wir suchen einen finanzstarken Partner und gründen zusammen mit dessen toten Pferden ein Joint Venture.
  • Wir tauschen das tote Pferd gegen ein anderes totes Pferd aus, das laut Produktbeschreibung schneller läuft.
  • Wir tauschen das tote Pferd gegen eine tote Kuh aus.
  • Wir verdoppeln die Futterration für das Pferd.
  • Wir vergrößern den Verantwortungsbereich für tote Pferde.
  • Wir verklagen das Pferd zivilrechtlich auf Schadensersatz wegen Nichterbringung einer zugesicherten Leistung.
  • Wir wechseln den Pferdelieferanten.
  • Wir wechseln die Reiter.
  • Wir wechselnd das Stroh im Stall aus.
  • Wir wechselnd den Futterlieferanten.
  • Wir weisen darauf hin, dass im Rahmen des Neuen Kommunalen Finanzmanagements das tote Pferd als bewegliches Anlagevermögen zu bewerten ist.
  • Wir weisen den Reiter an, sitzen zu bleiben, bis das Pferd wieder aufsteht.
  • Wir wenden die Angela-Merkel-Strategie an: Alle dürfen munter sich widersprechende Vorschläge machen und am Schluss ist der Koalitionspartner schuld, wenn das Pferd sich nicht bewegt.
  • Wir wenden die Arbeitsrechtliche-Stragie an: Man kündigt nach Anhörung des Personalrates dem Pferd fristlos, da es sich um einen klaren Fall von Arbeitsverweigerung handelt.
  • Wir wenden die Controlling-Strategie an: Man stellt fest, daß ein totes Pferd kein Futter benötigt und empfiehlt, nur noch tote Pferde zu verwenden.
  • Wir wenden die Freud’sche-Strategie an: Es wird erklärt, daß das Pferd eine schwere Kindheit hatte, und deswegen ausnahmsweise nichts „leisten“ müsse.
  • Wir wenden die Gerhard-Schröder-Strategie an: Wir schnallen dem toten Pferd einen leichteren Sattel um, damit es die Chance hat, sich wieder von selbst zu erholen.
  • Wir wenden die Globalisierungs Strategie an: Man prügelt auf das Pferd ein und ruft dabei: Wenn Du nicht mitspielst, bist Du aus dem Rennen!
  • Wir wenden die Gutachten Strategie an: Das Gutachten stellt fest, dass das tote Pferd kein Futter benötigt und empfiehlt, nur noch tote Pferde zu verwenden.
  • Wir wenden die Helmut-Kohl-Strategie an: Wir setzen uns hin und warten sechzehn Jahre, ob das Pferd sich nicht einfach nur tot stellt.
  • Wir wenden die Juristische-Strategie an: Wir verklagen das Pferd wegen Nichterbringung einer zugesicherten Leistung.
  • Wir wenden die Kommunistische-Strategie an: Die Leistung des toten Pferdes wird als Vorgabe für die Zielvereinbarung für alle anderen Pferde festgeschrieben.
  • Wir verwenden die Reaktionäre-Strategie: Totes Pferd? Wovon reden Sie, Sie linker Spinner?
  • Wir wenden die Managementlösung: Da das tote Pferd nicht 90% seiner Zeit damit beschäftigt ist, sich wichtig zu tun oder selbst darzustellen, wird es auch nicht befördert.
  • Wir wenden die Militärische-Strategie 1 an: Man postuliert, daß nur ein toter Reiter ein totes Pferd reiten kann und erschießt den Reiter.
  • Wir wenden die Militärische-Strategie 2 an: Wir stellen das tote Pferd vor ein Kriegsgericht und lassen es standrechtlich erschiessen.
  • Wir wenden die Motivations Strategie an: Wir versprechen dem Reiter, der die höchste Leistung aus dem toten Pferd heraus holt, eine Prämie; verbunden mit einem beruflichen Aufstieg und dem Titel „General Director of Dead Horses“
  • Wir wenden die PEGIDA-Strategie an: Wir stellen fest, dass das Vieh nur simuliert.
  • Wir wenden die Politische-Strategie an: Das Pferd wird EU–Kommissar und nach Brüssel geschickt.
  • Wir wenden die REFA-Strategie an: Wir messen die Zeit und stellen fest, daß das tote Pferd noch immer die doppelte Leistung eines bundesdeutschen Beamten erbringt. Deshalb wird es verbeamtet.
  • Wir zählen nur solche Pferde in der tote-Pferde-Statistik, die im Stall liegen.
  • Wir ändern die Anforderungen an Reiten und Bewegung und erteilen einen neuen Entwicklungsauftrag.
  • Wir ändern die Kriterien, die besagen, dass ein Pferd tot ist.
  • Wir überarbeiten die Dienstanweisung für das Reiten von Pferden.
  • Wir überarbeiten die Leistungsbedingungen für tote Pferde.
  • Wir überarbeiten die Leistungsbeschreibung für tote Pferde.
  • Wir überlegen die Gründung einer kommunalen GmbH für tote Pferde, nachdem die Einrichtung eines optimierten Regiebetriebes bzw. eines Eigenbetriebes keinen Erfolg brachte.

Und zu guter Letzt:

  • Wenn Du merkst, dass Du ein totes Pferd reitest, sorge für einen bequemen Sattel – es könnte ein langer Ritt werden!
    (Frank Menzel 2008)

Quellen: Ich habe einige Seiten im Internet und in Foren gefunden (siehe Google-Suche). Es war mir unmöglich einzelne Sätze gezielt Quellen zuzuordnen. Die meisten der Sätze kamen mehrfach vor. Insofern konnte ich bis auf den letzten Satz keine „Urheber“ ausfindig machen.

C/C++ Coding Best Practices Repository

Best Practices ist das nach dem wir oft suchen wenn neue Standards neue Methoden eröffnen und ganz besonders, wenn man sich mit einer Programmiersprache weiterentwickeln will.

Wir lesen Bücher von Scott Meyers, Bjarne Stroustrup, Nicolai Josuttis und nicht wenige von uns tummeln sich in Blogs studieren und nutzen fremden Code und Libraries. Alles das erweitert unseren „Programmierhorizont“.

Einige C++ Programmierer werden CppDepends kennen. Ein Tool von CodeGears, dass ich auch schon vorgestellt habe.
Die Firma hat eine neue Seite mit dem Titel C/C++ Coding Best Practices Repository . Die Idee ist „gute“ C++ Praktiken zu benennen, zu klassifizieren und zu bewerten. Und das macht in diesem Fall nicht ein Autor, sondern die Community. Wobei eben die Community die Regeln, die eingebracht werden bewerten und aus diesem Scoring könnten sich vielleicht ein paar wertvolle Bausteine heraus kristallisieren.

Solche Projekte können natürlich nur funktionieren, wenn genügend Leute mitmachen. Und da die Idee nicht schlecht ist mache ich hier mal etwas Werbung dafür.

 

Ein kleiner Doppelschlag: RTM für VisualStudio 2015 und VisualStudio Update 5

Heute haben zwei neue VisualStudio Versionen das Licht des RTM erblickt 😉

VisualStudio 2015 ist verfügbar und zeitgleich wurde auch VisualStudio 2013 Update 5 veröffentlicht.

Achtung: Wer als Sprache Deutsch angegeben hat, der bekommt aktuell (Stand 21.07.2015) noch die RC-Seite auf der deutschen Microsoft Seite angezeigt. Die englische Seite zeigt den RTM Artikel.

PS: Einzig vermisse ich noch die MBCS Bibliotheken für den RTM. Als RC waren sie verfügbar und der aktuelle Link auf den Microsoft Seiten funktioniert nicht. Auch wenn ich die nur für ein einziges Legacy Programm noch nutze.

Die MFC ist seit der Veröffentlichung der Community Edition von VS-2013 auch kostenlos verfügbar

Seit dem Erscheinen der ersten VC++ Express Version haben sich viele Entwickler gefragt, warum weder ATL noch MFC hier verfügbar waren.
Das hat sich nun seit der Existenz der VS-2013 Community Edition geändert.

Sowohl die Visual Studio 2013 Community Edition als auch die bereits veröffentlichte Visual Studio 2015 RC Community Edition enthält sowohl die ATL als auch die MFC. D.h. auch, dass es damit einfacher wird für nicht kommerzielle Entwickler die entsprechenden Libraries zu verwenden.

Das ist auch endlich ein Durchbruch, der von der MVP-Community seit dem erscheinen der aller ersten Express Version angemahnt und gefordert wurde.

Die aktuellen Downloads finden sich hier:
http://www.visualstudio.com/de-de/downloads/download-visual-studio-vs.aspx
http://www.visualstudio.com/en-us/products/vs-2015-product-editions.aspx

Bei der Installation der VS-2015 Community Edition muss man allerdings darauf achten die MFC mit auszuwählen. In der Standardinstallation wird diese nicht hinzugefügt. In der VS-2013 Version wird die MFC automatisch mit installiert.

Nur zur Info:
Die Community Edition ersetzt in Zukunft die Express Versionen. Zudem werden alle Express Editionen in einem Visual Studio Paket zusammen geschnürt. Der Vorteil ist groß. Addons werden verfügbar, für die breite Maße. Opensource Projekte, die die MFC und ATL verwenden stehen nun jedermann zur Verfügung. Weitere Infos finden sich auch hier.
Die Lizenzbedingungen der Commuinity Edition sollte man unbedingt lesen, wenn man die Version auch kommerziell nutzen möchte.

PS: Diese Pakete existieren bereits seit November 2014 aber mir ist diese Info bisher entgangen. Sorry…

VS-2015 RC ist verfügbar – ein kurzer Einblick aus der C++ Sicht

Seit den letzten Tagen des April ist nun auch der Release Candidate für VS_2015 verfügbar.
http://www.visualstudio.com/en-us/news/vs2015-vs.aspx

Die Liste ist lang. Was sich für C++ Neues ergibt dagegen doch recht übersichtlich. 😉

Hier ein paar Punkte, die ein erster Test und Streifzug ergab:

  • Man sollte in jedem Fall die angepasste Installation verwenden. Ansonsten wird der MFC Sourcecode nicht mit installiert (siehe auch Kommentar von Michael Külshammer)
  • „Fast“ alle Projekte ließen sich fehlerfrei kompilieren. Es gab zwar einen Haufen neuer Warnungen aber, diese haben eher mit dem Stil des Programmierens zu tun. Speziell sind es C4456, C4457, C4458 (Declaration off… hides previous …  declaration). Im Klartext. Ich verwende immer mal wieder eine Variable it oder i gerne, die auch im äußeren Scope vorhanden ist.
    Für diese neuen Warnings gibt es allerdings bisher keine Dokumentation.
  • Und eben die typischen Fallen in denen man eben thirdparty Libs (z.B. OpenSSL) eben neu erzeugen muss.
  • Leider benötige ich für ein spezielles Update Programm noch die MBCS Variante der MFC. Diese ist zwar über das Netz als Link bei MS vorhanden, führt aber zu einer 404 Sackgasse. (Dieses Programm benutzt extrem alten Code, bei denen noch niemand an char/wchar_t bzgl. der Windows API und anderes dachte und Neuschreiben hatte ich bisher vermieden. 🙂 )
  • Nervig war eine „neue“ Compilermeldungen C1041, aber diese ist nirgendwo beschrieben (wie auch andere nicht). Online jedenfalls nicht. Ich bekam den Hinweis, dass eine PDB Datei nicht geschrieben werden kann und ich bitte die Option /FS verwenden soll. Die Ursache ist mir unklar, weil bei späteren Kompilierungsversuchen das Ganze durchlief.
  • Etwas länger musste ich für den folgenden Fehler suchen:
     (odbccp32.lib(dllload.obj) : error LNK2019: unresolved external symbol _vsnwprintf_s referenced in function StringCchPrintfW).
    Hier scheint noch etwas mit dem SDK auch in der Release Version nicht zu passen. Auf connect.microsoft.com fand ich einen entsprechenden Eintrag um diesen Fehler zu umgehen. Scheinbar ist das neue „korrigierte“ SDK, dass in der Lösung versprochen wird im RC noch nicht enthalten.
  • Vieles in der UI hat sich geändert. So werden zum Beispiel die Breakpoint mit einem eigenen Kontexttoolbar angezeigt und benutzt man diesen dann werden die Einstellungen nicht in einem Dialog angepasst, sondern innerhalb des Sourcecode Fensters wird am unteren Rand ein Box für die Eigenschaften geöffnet. Das ist definitiv gewöhnungsbedürftig. Und nur mit der Maus zu bedienen.
  • Im MFC Sourcecode findet sich nur eine neue Header-Datei afxlayout.h. In dieser Headerdatei findet sich die Deklaration für die Klasse CMFCDynamicLayout. Diese Klasse wird direkt in CWnd als Zeiger verwendet und erlaubt die Neupositionierung von Kindfenstern damit für alle Fenstertypen. D.h. nicht nur Dialoge. D.h. man kann in jedem MFC-Fenster EnableDynamicLayout ausführen und entsprechend die Kindfenster neu anordnen lasen wie man es selber definiert.
    Die Implementierung schließt scheinbar die Nutzung des Ressourceneditors ein, denn die Einstellungen können aus dem Ressourcentyp RT_DIALOG_LAYOUT ausgelesen werden. In den Fenstereigenschaften eines Controls findet sich nun der Abschnitt Dynamic Layout in dem man Position und Größe in Prozent zur Gesamtänderung angeben kann.
  • Wer die Header genauer untersucht findet klitze kleine Änderungen Hier und Da wie z.B. die Unterstützung von runden Ecken bei Tooltipps.
  • In der ATL konnte ich bisher keine Erweiterungen und gravierende Änderungen finden.
  • Die meisten Änderungen im ATL und MFC sind Änderungen im Trace Code. Statt „%s“ wird nun konsequent „%Ts“ als Formatierungszeichen verwendet. Angekündigt war eine grundsätzliche Änderung bzgl. „Wide String Format Specifiers“ allerdings wurde diese bereits im April zurückgezogen (siehe hier).
  • Vermisst habe ich einige CRT Source Dateien, die normalerweise im VC\CRT\SRC Order liegen. Der Ordner war in meiner Installation leer und enthielt nur weitere Ordner.
    Mir war es auch nicht möglich beim Testen in den CRT Code zu steppen. Zumindest bei mir wurden keine passenden Source Dateien gefunden.
  • Mit den CRT-DLLs werde ich mich ab morgen mal befassen. Auch hier hat Michael Külshammer gerade eben einen Beitrag in meinem Blog geschrieben.

Summa summarum nur minimale Anpassungen in meinen Projekten für den Umstieg von VS-2013 auf VS-2015, darüber hinaus so gut wie keine (erkennbaren) Änderungen in der CRT/ALT und MFC. Was es an neuen Compiler Features gibt findet man in den Blogs ausführlicher beschrieben als ich das kann. Zudem halte ich mich nicht für den großen C++ Sprachen-und-Standard-Guru.