Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von hypersurf
Thema: C# Dateien hochladen auf FTP-Server
Am im Forum: Netzwerktechnologien

Hab's selber noch nie benutzt, aber den Beispielen die google ausspuckt nach zu urteilen musst Du beim Create auch den Dateinamen, der Datei die Du auf dem FTP erstellen willst, angeben:


FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://ftp.meinftp.de/datei.txt");


Siehe auch MSDN

Thema: Outlook-COM-Addin funktioniert nur auf einem Rechner nicht
Am im Forum: Office-Technologien

Hallo Leute,

ich habe ein COM-Addin für Outlook geschrieben, welches auf drei Rechnern laufen soll. Auf zwei Rechnern auf denen ich das Addin installiert habe funktioniert es unter Outlook 2007 und 2013 tadellos. Auf dem dritten Rechner (Outlook 2013) funktioniert das Addin nicht.

Wie immer bei der Registrierung von COM-DLLs habe ich regasm verwendet, welches die DLL korrekt registriert hat (hab's unter HKEY_CLASSES_ROOT geprüft).
Dann habe ich das Addin mit einer .reg-Datei im Schlüssel "HKEY_USERS\S-1-5-21-849391721-3056917416-2997542074-1011\Software\Microsoft\Office\Outlook\Addins" eingetragen. LoadBehavior steht auf 3.

Starte ich jetzt Outlook finde ich das Addin unter "inaktive Addins". In der COM-Add-Ins-Eingabemaske wird der Speicherort des Addins nicht angezeigt. Außerdem steht darunter

Fehler
Nicht geladen. Während des Ladens des COM-Add-Ins ist ein Laufzeitfehler aufgetreten".

Wenn ich das Addin über die COM-Add-Ins-Eingabemaske entferne (Button "Entfernen") und mittels des Buttons "Hinzufügen" wieder hinzufügen will kommt folgende Meldung:
Fehler
.....dll ist kein gültiges Office-Add-In.

Dieselbe DLL funktioniert aber auf den anderen PCs tadellos. Die DLL ist mit AnyCPU kompiliert.


Hier ist ein Ausschnitt aus der Hauptklasse des Addins:


namespace my_osticket_addin
{
    [ProgId("my_osticket_addin"), Guid("44334853-8a20-4f93-9d7b-5c2fb33859fc")]
    [COMAddin("my-software osTicket Outlook-Addin", "This Addin provides osTicket-Support for MS Outlook.", 3), Tweak(true)]
    public class ThisAddin : COMAddin, IDisposable
    {
        private AddinToolbarHandler _Toolbarhandler;

        public ThisAddin()
        {
            this.OnStartupComplete += new OnStartupCompleteEventHandler(ThisAddin_OnStartupComplete);
            this.OnDisconnection += new OnDisconnectionEventHandler(ThisAddin_OnDisconnection);
            this._Toolbarhandler = new AddinToolbarHandler();
            this._Toolbarhandler.ButtonCreateTicketPressed += Toolbarhandler_ButtonCreateTicketPressed;
            this._Toolbarhandler.ButtonSettingsPressed += Toolbarhandler_ButtonSettingsPressed;
        }


        private void ThisAddin_OnStartupComplete(ref Array custom)
        {
            this._Toolbarhandler.RemoveToolbar(this.Application);
            this._Toolbarhandler.AddToolBar(this.Application);
        }

        private void ThisAddin_OnDisconnection(ext_DisconnectMode RemoveMode, ref Array custom)
        {
            this._Toolbarhandler.RemoveToolbar(this.Application);
        }

        protected override void OnError(ErrorMethodKind methodKind, System.Exception exception)
        {
            MessageBox.Show(exception.Message,
                    System.Windows.Forms.Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
        }


Hat jemand von Euch schonmal ein ähnliches Verhalten erlebt? Bei Google hab' ich leider keine brauchbaren Hilfen gefunden.


Gruß hypersurf

Thema: Via C# Excel-Dateien erstellen und in diese Datei hineinschreiben
Am im Forum: Grundlagen von C#

Hast Du schonmal google bemüht um herauszufinden warum signtool.exe bei Dir nicht vorhanden ist? Der allererste Treffer sieht recht vielversprechend aus.

Thema: Via C# Excel-Dateien erstellen und in diese Datei hineinschreiben
Am im Forum: Grundlagen von C#

Stimmt natürlich, richtig wäre es dann so:


for (int i = 0; i < anzahl; i++)
{
TextBox tb = (TextBox)this.Controls["TextName0"];
excelWorksheet.Cells[i + 2, 1] = tb.Text;
}

Thema: Sollte ich Code, den ich kopiere, immer 100% verstehen?
Am im Forum: Smalltalk

Meistens läuft es bei mir darauf hinaus, dass ich Snippets die ich im Netz gefunden habe kopiere und für meine Bedürfnise anpasse. Bei größeren Codestücken kann es, wenn sie wie gewünscht funktionieren, aus Zeitgründen schonmal vorkommen dass ich mir die Funktionsweise nur grob anschaue. Das kommt glücklicherweise aber nur sehr selten vor.

Testen muss man es sowieso (wobei ich auch Kollegen habe die ungetesteten Code rausgeben, was extrem nervt).

Praktischerweise muss man dank den Suchmaschinen heutzutage nicht mehr alles genau im Kopf haben, sondern nur noch wissen wie man bei google suchen muss.

Thema: Via C# Excel-Dateien erstellen und in diese Datei hineinschreiben
Am im Forum: Grundlagen von C#

Bei dynamisch generierten Controls kannst Du mittels des Namens auf das generierte Control innerhalb der Controls-Collection zugreifen:


for (int i = 0; i < anzahl; i++)
{
excelWorksheet.Cells[i + 2, 1] = this.Controls[TextName0.Name];
}


Siehe auch Control.ControlCollection.Item-Eigenschaft: (String)

Thema: Via C# Excel-Dateien erstellen und in diese Datei hineinschreiben
Am im Forum: Grundlagen von C#

Bestimmt, wenn Du uns mit etwas Quellcode versorgst ;)

Thema: C# Gedrückte Tasten abfangen und in Int konvertieren
Am im Forum: Grundlagen von C#

Wenn Du nur die Tastenkombination abfragen möchtest schau mal in diesen Thread Per KeyPressEventArgs Tastenkombination Strg+F abfragen

Falls das nicht Dein Ziel ist poste bitte etwas Code und schreib nochmal was genau nicht funktioniert. Was meinst Du mit "als Integer abzuspeichern"?

Thema: string.replace funktioniert nicht (=>falscher Umgang mit Strings)
Am im Forum: Grundlagen von C#

Zitat von MrSparkle
in einer CSV-Datei gibt es mehrere Trennzeichen: Zeilenumbruch, Spaltentrenner und Feldbegrenzer

Siehe auch [erledigt] Zeilenumbruch innerhalb eines CSV Elements

Thema: Wert in Windows Registry wird nicht geändert und wirft auch keinen Fehler
Am im Forum: Rund um die Programmierung

Kompilierst Du Dein Programm auf x86?

Kannst Dir ggf. auch diesen Link anschauen, dort wird die Thematik mit dem Subsystem für 32-Bit-Anwendungen ganz gut erklärt.

Thema: Wert in Windows Registry wird nicht geändert und wirft auch keinen Fehler
Am im Forum: Rund um die Programmierung

Schau Dir mal das Programm procmon an. Damit siehst Du welche Registry-Zugriffe passieren und warum sie ggf. nicht funktionieren.

Thema: Wert in Windows Registry wird nicht geändert und wirft auch keinen Fehler
Am im Forum: Rund um die Programmierung

Der Code sieht auf den ersten Blick richtig aus.

Bei fehlenden Rechten sollte eigentlich eine Exception geworfen werden. Fängst Du die ggf. schon irgendwo ab?

Thema: Probleme mit Synchronisation von Kontakten bei Android mit Office 365
Am im Forum: Smalltalk

Verschwinden die Kontakte auch, wenn Du ein anderes Konto auswählst? Ich hatte kürzlich mal ähnliche Schwierigkeiten, mit nem outlook.com-Konto.

Thema: Probleme mit Synchronisation von Kontakten bei Android mit Office 365
Am im Forum: Smalltalk

Kannst Du in der Kontakte-App beim Anlegen der Kontakte das Konto auswählen, in dem der neue Kontakt gespeichert wird?

Thema: [Strategie Gesuch] Text Datei einlesen mit Informationsblöcken
Am im Forum: Grundlagen von C#

Poste mal Deine Funktion

Thema: Konstruktor mit Parameter vom Typ "List" bestehend aus Objekten einer Klasse
Am im Forum: Grundlagen von C#

Du kannst die Liste z. B. direkt im Konstruktor übergeben:


    public class Bauteil
    {
        public int Bauteilnummer { get; set; }
        public string Bauteilname { get; set; }
        public List<Material> Materialien { get; set; }

        public Bauteil(int id, string name, List<Material> materialien)
        {
            this.Bauteilnummer = id;
            this.Bauteilname = name;
            this.Materialien = materialien;
        }
    }



Wenn Du die Liste nicht im Konstruktor übergeben möchtest, wäre das hier eine Möglichkeit:


    public class Bauteil
    {
        public int Bauteilnummer { get; set; }
        public string Bauteilname { get; set; }
        public List<Material> Materialien { get; set; }

        public Bauteil(int id, string name)
        {
            this.Bauteilnummer = id;
            this.Bauteilname = name;
            this.Materialien = new List<Material>();
        }
    }

    public class Material
    {
        public string name { get; set; }
    }


Hinzufügen von Materialien ginge dann so:


            Bauteil bauteil = new Bauteil(1, "Autoreifen");
            bauteil.Materialien.Add(new Material { name = "Felge" } );
            bauteil.Materialien.Add(new Material { name = "Reifen" });
            bauteil.Materialien.Add(new Material { name = "Schrauben" });


Auch mehrere Konstruktoren mit unterschiedlichen Signaturen (z. B. mit und ohne Materialliste) sind möglich.

Thema: Excel Range als Tabelle formatieren und erste Zeile als Überschriften nehmen
Am im Forum: Office-Technologien

Der vierte Parameter der Methode workSheet.ListObjects.AddEx (= HasHeaders ) sollte xlYes sein.

Siehe auch MSDN

Thema: Wie kann ich in Excel eine Row löschen?
Am im Forum: Office-Technologien

Sowas lässt sich ganz einfach rausfinden in dem man in Excel die Makroaufnahme startet, die gewünschte Aktion ausführt (z. B. eine Zeile löschen), die Makroaufnahme wieder stoppt und sich dann den VBA-Code anschaut.

Thema: UNC Path: Backslash \ kommt doppelt vor
Am im Forum: Grundlagen von C#

So funktioniert es bei mir problemlos:


string path = @"\\RemotePC\c$";

Process.Start("explorer.exe", path);

Beachte den einzelnen Backslash vor dem c$

Thema: Win 10 Bildschirmtastatur ansteuern - WindowsFehler?
Am im Forum: Rund um die Programmierung

Siehe Anhang

Thema: Empfehlungen für eine gute Druck-Klassenbibliothek
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Mit Crystal Reports geht das, mit List+Label dürfte das auch gehen. Beide haben eine gute Lizenzpolitik und keine Mondpreise.

Thema: VBA und C# interoperability
Am im Forum: Office-Technologien

Was genau geht denn nicht? Kennt VB dwip.Class1 nicht? Wird Deine Library im Objektkatalog (F2 in VB) angezeigt?

Thema: Verschiedene Datenbanken mit gleicher Struktur zu einer Datenbank mergen
Am im Forum: Datentechnologien

Du könntest Dir einen eigenen kleinen Konverter schreiben, der die Daten aus den beiden Quelldatenbanken ausliest und in die neue Datenbank einfügt.

Thema: Tabellen auf Uneinstimmigkeiten vergleichen
Am im Forum: GUI: Windows-Forms

Woran hapert es denn genau?

Thema: Tabellen auf Uneinstimmigkeiten vergleichen
Am im Forum: GUI: Windows-Forms

Warum nicht so wie t0ms3n es vorgeschlagen hat? Ist doch ein sehr einfacher Weg:

Zitat von t0ms3n
Danach sollte es für dich problemlos möglich sein die Tabelle 3 zu erstellen. Dort sollte es dann ja reichen über beide Tabellen zu iterieren und prüfen ob der Datensatz bereits in Tabelle 3 vorhanden ist. Falls nicht hinzufügen, falls schon ggf. Datensatz anreichern oder eben einfach ignorieren.

Thema: Tabellen auf Uneinstimmigkeiten vergleichen
Am im Forum: GUI: Windows-Forms

Hilft Dir vielleicht diese Erklärung?

Thema: SQLite .db Datei öffnen
Am im Forum: Datentechnologien

Jop, gibt es. Google spuckt direkt eine Menge passender Suchergebnisse aus.

Thema: Wie erstelle ich ein Objekt einmal und verwende es dort, wo ich es brauche in C#? --> DI/IoC
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Prima, das werd' ich mal ausprobieren.

Thema: Wie erstelle ich ein Objekt einmal und verwende es dort, wo ich es brauche in C#? --> DI/IoC
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich habe hier eine Anwendung mit mehreren 100k LoC. In jeder Funktion ist eine Art Logging/Tracing implementiert, welches direkt nach dem Eintritt und vor dem Austritt der Funktion mit Zugriff auf ein Singleton aufgerufen wird.

Wie stellt man das in einem vernünftigen Zeitrahmen auf DI/IoC um? Oder lässt man das und verwendet etwas ganz anderes (z. B. Aspekte)?

Thema: Mit C# in eine Excel-Tabelle schreiben - Microsoft.Office.Interop-Verweise fehlen
Am im Forum: Grundlagen von C#

Hallo Sam,

die Fehlermeldung ist doch recht eindeutig: Der Provider ist nicht installiert. Ergo, installiere den Provider (z. B. den hier) und versuche es nochmal.

Einfach mal nach Microsoft.ACE.OLEDB.12.0 googlen, da kommen direkt Lösungsvorschläge.