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 weismat
Thema: Problem mit DllImport, Strukturen und Strings
Am im Forum: Rund um die Programmierung

Du solltest in der Windows-Ereignisanzeige etwas sehen. Außerdem kannst Du mit richtigen Symbolen auch debuggen.
Normalerweise sollte auch einfach StringBuilder anstatt [Out]IntPtr funktionieren.

Thema: Problem mit DllImport, Strukturen und Strings
Am im Forum: Rund um die Programmierung

Vielleicht mixt Du 32 und 64 Bit Code.
Was ist Dein Platform-Target für .NET? Ich finde die "Prefer 32 bit" Einstellung als recht gefährlich.

Thema: Windows Forms, WPF oder etwas anderes?
Am im Forum: Smalltalk

Das wichtigste in Eurem Fall ist eine gute Architektur, so daß die Darstellung und die Business Logic gut aufgeteilt sind.
Reactive Trader ist ein gutes Beispiel, wie Du ein Projekt dafür richtig strukturieren kannst. Das ist am Anfang natürlich um einiges aufwendiger, aber so bist Du dann zukunftssicher, unabhängig wie sich die Frontend-Technologie entwickelt.

Thema: EndiansByteArrayWriter - Bitwise Ops mit Float
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Reicht es nicht einfach, daß Du die normalen Methoden nimmst und danach prüfst, ob Du auf Little Endian bist und dann ein Array.Reverse() machst?

Thema: FTP-Upload erstellt leere Dateien
Am im Forum: Netzwerktechnologien

Es sieht auf jeden Fall zu kompliziert aus, was Du machst,
Ich würde WebClient.UploadFile stattdessen benutzen. Die Ftp Login Daten setzt Du in das Credential Property und die URI und BaseAdress müssen zu Deinem Ftp-Server passen - im Zweifel einen WebBrowser für die Uri benutzen.

Thema: Performance Optimierung Datenvalidierung
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wie holst Du erstmal die Daten aus Excel heraus? Wenn Du COM benutzt, ist es gut möglich, daß das einen großen Teil der Ausführungszeit kostet.
Vor allem solltest Du Deinen Code in kleine Funktionen aufspalten, die Du sowohl einzeln testen als auch von der Geschwindigkeit her messen kannst. Dann kannst Du priorisieren, welche Funktion, wie wichtig ist und die dann verbessern.

Thema: Assemblyinformationen von Aussen manipulierbar?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Klar geht das - z.B. mit ILMerge.exe

ILMerge.exe Foo.dll /ver:1.2.3.4 /out:Foo2.dll
Copy Foo2.dll Foo.dl

Thema: Log4Net: Log-Dateien gegen Manipulation schützen
Am im Forum: Rund um die Programmierung

Ich würde Dir einen ganz anderen Tip geben.
Beschäftige Dich mit Event Tracing für Windows / Semantic Logging.
Da kann keiner so einfach die Logs lesen, da die binär erstellt werden.
Der große Vorteil gegenüber log4net ist vor allem die Performance. So loggt das Framework selber sehr viel auch auf diese Weise, z.B. jede Aktion des Garbage Collector. Nachteil ist, daß Du einen Listener oder Perfview zum Speichern brauchst.

Thema: TCPChannel - Mehrere Ports gleichzeitig verwalten
Am im Forum: Netzwerktechnologien

Ich würde an Deiner Stelle entweder direkt Sockets nehmen und entweder JSON oder Protocol Buffer für die Serialisierung oder WCF.
Remoting ist eine sehr veraltete Technologie, die man nur nimmt, wenn man muss.

Thema: TCPChannel - Mehrere Ports gleichzeitig verwalten
Am im Forum: Netzwerktechnologien

Beschreibe mal genau, was Du erreichen willst. Vom ersten Eindruck her verstehst Du das Protokoll nicht.
Das TCP-Protokoll baut auf dem IP-Protokoll auf. Und bei IP sind die EndPoints immer Host + Port. Eine TCP-Verbindung besteht aus Client IP und Client Port (Client-Endpoint) + Server IP und ServerPort (Server-Endpoint) + dem Protokoll TCP.
Der TCP Channel ist nur ein Wrapper um die Funktionen aus socket.h.

Thema: Sehr hohe CPU-Auslastung bei Multi-Threading
Am im Forum: Rund um die Programmierung

Thread.Sleep() selber erzeugt keine Last (außer dem Overhead für den Context Switch). Wahrscheinlich hast Du irgendwo anders ein Problem oder an einer Stelle vergessen das Sleep einzubauen und while (true) läuft ohne Sleep.

Thema: TCP Client empfängt Daten nicht
Am im Forum: Netzwerktechnologien

Wenn Du StreamWriter benutzt, dann solltest Du auf jeden Fall Flush nicht vergessen.
TCP/IP ist kein Fire und Forget, sondern ein "höfliches" Protokoll. Höflich bedeutet zu warten, bis der andere bestätigt hat, das die Nachricht angekommen ist und nicht ungefragt zu verschwinden. In Deinem Fall könnte es auch passieren, daß beim Client der Shutdown des Servers vor der Nachricht verarbeitet wird.

Thema: TcpClient + Networkstream empfängt nach 30 Sekunden Leerlauf keine Daten mehr
Am im Forum: Netzwerktechnologien

Manchmal kappen Firewalls oder Endgeräte die Verbindung automatisch, wenn mehr als x-Sekunden nix passiert.
Deswegen gibt es meistens etwas wie eine Ping/Echo-Nachricht, um die Verbindung aufrecht zu erhalten. Schaue danach mal in der Dokumentation.

Thema: Seitenzahlen im PDF
Am im Forum: Office-Technologien

Wie erstellst Du die Excel-Dateien genau? COM Interop?


worksheet.PageSetup.CenterFooter = "Page &P"
sollte in dem Fall Dir helfen.

Thema: Memoryleak -> Speicher wird nicht freigegeben
Am im Forum: Grundlagen von C#

Du kannst mit Perfview explizit sehen, was der Garbage Collector genau macht (z.B. Generation, Dauer und Statistiken über Speicherfreigabe).

Der Garbage Collector wird nur bei Generation 2 den ganzen Baum aufräumen, dass passiert erst dann, wenn der Speicher knapp wird. Du kannst in Deinem Fall testen, ob Du nach einem

GC.Collect()
bereits die große Verzögerung siehst und wieviel Speicher nach einer vollständigen Garbage Collection übrig ist. Normalerweise macht es nicht Sinn, den Garbage Collector zu forcieren, aber in Deinem Fall hilft es vielleicht mitzuteilen, daß viel aufzuräumen ist.

Thema: Probleme mit Interop C++ DLL Aufruf
Am im Forum: Rund um die Programmierung

Ich würde mir mal das hier anschauen. Durch dynamic hat sich in dem Bereich einiges getan und ist einfacher geworden.

Thema: Probleme mit Interop C++ DLL Aufruf
Am im Forum: Rund um die Programmierung

Edit:
Hast Du folgendes auf MSDN schon gesehen?

TlbImp würde klappen, wenn es eine COM Schnittstelle wäre. Scheint laut MSDN ja zuzutreffen.
Arbeitest Du mit try...catch?

Thema: Problem mit P/Invoke
Am im Forum: Rund um die Programmierung

In Deinem Fall musst Du höchstwahrscheinlich

CallingConvention=CallingConvention.Cdecl
Funktionierte jedenfalls bei mir.
Oder im C++ Code noch

__stdcall
hinzufügen.

Thema: Spiele-KI: Wie teste ich Optimierungs-Algorithmen?
Am im Forum: Rund um die Programmierung

Das Ergebnis des Baums zu testen, ist kein Unit Test.
Aus meiner Sicht hast Du schnell den Effekt, dass das Pflegen der Tests aufwändiger wird, als die eigentliche Code-Anpassung, insbesondere wenn Du eine Änderung machst, die das Ergebnis für jeden Baum minimal verändert.

Thema: Spiele-KI: Wie teste ich Optimierungs-Algorithmen?
Am im Forum: Rund um die Programmierung

KI und Optimierungsalgorithmen wirst Du immer mit statistischen Mitteln testen müssen.
Dein Design sollte Dir erlauben, dass Du sowohl die Bewertung einer Position als auch den errechneten Zug nachspielen kannst.
Dann brauchst Du eine Datenbank mit diesen Werten und vergleichst vorher nachher mit statistischen Massgrößen, wie sehr sich die Werte auf Deine Datenbank verändern und schaust, dann im Detail vielleicht die Positionen an, wo die Veränderung signifikant ist.

Thema: Probleme beim Veröffentlichen - Fehlendes .Net-Framework?
Am im Forum: Grundlagen von C#

Das ist kein einfaches Problem, da Windows XP nicht mehr aktiv unterstützt wird.
Hast Du schon mal SP 2.0 probiert?

Thema: [ERLEDIGT] Unmanaged .DLL import - Deployproblem
Am im Forum: Rund um die Programmierung

Ich würde es sonst mit dem Dependency Walker versuchen. Das ist an sich das beste Vorgehen, um zu sehen, welche Dlls wirklich referenziert werden.

Thema: [ERLEDIGT] Unmanaged .DLL import - Deployproblem
Am im Forum: Rund um die Programmierung

Bei Microsoft musst Du das 32 /64 bit SDK installieren, falls Du die STL benutzt. VS installiert das SDK automatisch mit.
Mit dem Intel Compiler ist es wahrscheinlich ähnlich - ich habe aber mit dem noch nicht gearbeitet.
Falls Du nicht die STL benutzt, würde ich mal prüfen, ob es überflüssige include Anweisungen gibt und die rausnehmen.

Thema: Werte aus Excel auslesen
Am im Forum: Grundlagen von C#

EPPlus ist eine Bibliothek zum Lesen und Schreiben von xlsx-Dateien.
Damit kannst Du ohne Excel arbeiten. Das ist schneller und stabiler als wenn Dein Programm mit Excel im Hintergrund arbeitet.

Thema: Werte aus Excel auslesen
Am im Forum: Grundlagen von C#

So simple ist die Frage nicht, da es viele Möglichkeiten gibt.
Eine wichtige Frage ist, ob Du implizit Excel benutzen willst oder nicht. Auch die Version von Excel spielt eine grosse Rolle, da es mal eine Wechsel in den Datei-Formaten gab. xls ist prorietär - xlsx ist offen, gibt es aber erst in neuen Versionen von Excel.
Ich selber bin ein Fan von EPPlus. Schau Dir dort die Beispiele an.
Das einfachste Beispiel sieht etwa so aus


            using (var package = new ExcelPackage(file))
            {
                var workbook = package.Workbook;
                var zelle = workbook.Worksheets.First().Cells[lineCtr, 2].Value.ToString();

Thema: Composition over Inheritance - sinnvoll ?
Am im Forum: Smalltalk

Das Grundproblem ist meist, dass zu sehr über eine Hierarchie und zuwenig über das Verhalten nachgedacht wird.
Das problematische in der Hierarchie ist, dass diese sich eher ändert als das Verhalten der Komponenten.
Für OO Design empfehle ich Practival Object-Oriented Design. Ist zwar mit Beispielen in Ruby, aber trotzdem ein sehr gutes Buch...

Thema: Download begrenzen
Am im Forum: Netzwerktechnologien

Da Du den StreamReader benutzt, kannst Du die Read Methode in einer Schleife nehmen und dann x Bytes lesen und einen Sleep von 1000 einfügen. Du musst dann nach der Schleife nur die gelesen Einzelteile in verschiedenen Byte Arrays wieder in ein Array zusammensetzen.

Thema: Aufrufen von Matlab Funktionen
Am im Forum: Rund um die Programmierung

Schau Dir mal diesen Artikel an.

Thema: Ausführungsmöglichkeiten einer EXE programmatisch erkennen
Am im Forum: Rund um die Programmierung

Direkt gibt es da nichts.
Du kannst bei Environment.CurrentDirectory und Environment.CommandLine mal schauen, ob Du damit darauf schliessen kannst...

Thema: Streamreader ohne Erkennbaren Grund "null"
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Dir ist wahrscheinlich nicht bewusst, dass Du die Datei nicht aus dem Projektpfad, sondern aus dem Verzeichnis nimmt, wo der Compiler das Ergebnis hinschreibt (meist bin/Release oder bin/Debug).
Wahrscheinlich hast Du in %PATH% noch eine Datei gehabt, die Deine exe gelesen hat.