Martin Lantzsch
Software Entwickler
10. Februar 2013

visualstudio.com Computer Name geändert

10. Februar 2013 - Geschrieben von Martin - Keine Kommentare

Mit folgendem Kommando kann man das Repository wieder gangbar machen, wenn der Computername geändert wurde:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE>tf workspaces /updateComputerName:ALTERCOMPUTER /s:https://DEINWORKSPACE.visualstudio.com:443/DefaultCollection
Auflistung: https://DEINWORKSPACE.visualstudio.com/DefaultCollection
Arbeitsbereich  Besitzer        Computer Kommentar
--------------- --------------- -------- --------------------------------------
ALTERCOMPUTER   Martin Lantzsch NEUERCOMPUTER

23. Januar 2013

Die DLL „SQLite.Interop.dll“: Das angegebene Modul wurde nicht gefunden.

23. Januar 2013 - Geschrieben von Martin - Keine Kommentare

Ich habe eine C# Projekt Mappe mit einer WPF Anwendung und einer Konsolen Anwendung. Die WPF Anwendung besitzt alle Klassen, DLLs, etc. Der Konsolen Anwendung habe ich anschließend abhängig von der WPF Anwendung gemacht und die Build Reihenfolge so gestellt, dass die Konsolenanwendung bei erstellen der Projekt Mappe als zweites kompiliert wird.

Beim Debuggen trat dann immer folgender Fehler auf. Allerdings nur beim Debuggen, beim Ausführen der .exe aus dem /bin/Debug Ordner des Projektes gab es keine Probleme.
Die DLL "SQLite.Interop.dll": Das angegebene Modul wurde nicht gefunden.

Ich dachte erst an nicht aufgelöste Abhängigkeiten, also habe ich mir mit dem „Dependency Walker“ die DLL genauer angesehen:
Dependency Walker
Error: Modules with different CPU types were found.
CPU Type, das Problem kommt mir bekannt vor. Also habe ich mein Konsolen Projekt in den Projekteinstellungen von „Zielplattform“ – „Any CPU“ auf „x86“ gestellt und hey, nun startet es. Warum weiß ich leider nicht, ich kann es mir nur so erklären, das er beim kompilieren „Any CPU“ nicht auf die in x86 und x64 DLLs in dem GUI Projekt mappt. Denn das GUI Projekt startet mit „Any CPU“, den selben DLLs und der selben Klasse, die auf die DLLs zugreift.

10. Februar 2012

PDF Viewer mit C# entwickeln

10. Februar 2012 - Geschrieben von Martin - Ein Kommentar

Damit wir das Rad nicht neu erfinden müssen, stellt Adobe mit seinem Acrobat eine DLL bereit, über die man PDF Dokumente direkt in seiner C# Anwendung anzeigen lassen kann. Das ganze greift auf die selbe ActiveX Komponente zurück, wie zum Beispiel die Internet Explorer oder Firefox Erweiterung.

Diese „AcroPDF.dll“ wird folgendermaßen geladen. Im Projektmappen Explorer machen wir einen Recktsklick auf „Verweise“ und wählen „Verweis hinzufügen…“


Dort wählen wir dem „COM“ Tab um das COM Objekt hinzuzufügen

Anschließend klicken wir auf OK und der Verweis wird hinzugefügt (zu finden unter Verweise als „AcroPDFLib“).

Damit es in unserer WinForm eingebettet werden kann, muss es nun noch zur Toolbox hinzugefügt werden. Hierzu machen wir einen Rechtsklick in einem Reiter der Toolbox, in dem wir das Steuerelement haben wollen. Zum Beipsiel „Allgemein“ und wählen „Elemente auswählen…“

Nun wählen wir den Tab „COM-Steuerelemente“ und suchen dort den „Adobe PDF Reader“. Haken setzen und OK klicken.

Nun das neue Steuerelement von der Toolbox in die Form ziehen.

Zum Code fügen wir folgendes using hinzu, um die Acrobat Klasse zu laden:

using AxAcroPDFLib;

Der Einfachkeit halber laden wir beim starten des Programms (also im Konstruktur nach dem Initialisieren der Komponenten) einfach mal eine Beispiel PDF Datei:

public Form1()
{
    InitializeComponent();
    axAcroPDF1.LoadFile("Y:/Ablage/Test.pdf");
}

Damit der Reader auch wieder ordentlich geschlossen wird und nicht nach beenden des Programms noch ewig im Speicher rumdümpelt, erweitern wir den Destruktor:

~ Form1()
{
    axAcroPDF1.Dispose();
}

Das wären die Basics, alles weitere kann man entweder im Acrobat SDK nachschlagen oder IntelliSense bemühen.

8. November 2011

Visual Studio Debugging Konsole

8. November 2011 - Geschrieben von Martin - Keine Kommentare


Habe heute vergeblich die Debugging Konsole unter dem Menüpunkt Ansicht gesucht um meine Debug.WriteLine() Ausgaben zu analysieren, doch die hat sich im Visual Studio 2010 unter Debuggen -> Fenster versteckt wie ich nach – einiger Zeit – festgestellt habe ;-)

17. Juli 2011

C# einer TextBox den Fokus geben

17. Juli 2011 - Geschrieben von Martin - Keine Kommentare

Eben bin ich fast verzweifelt, denn die Focus Methode der TextBox wollte einfach nicht.

name.Focus();

Nach einiger Zeit hab ich dann gerafft, das man den TabIndex dieses Elements auf 0 setzen muss, damit man es direkt nach dem Öffnen des Fensters fokussieren kann.

Und was ich da gerade mit C# bastle erfahrt ihr bald ;-)