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 MarsStein
Thema: Überschreiben einer virtual Methode aus einer anderen DLL
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ich halte so eine Herangehensweise, nicht-öffentliche Codekonstrukte aus anderen Assemblies anzuprogrammieren, nicht nur für generell falsch, sondern auch für hochgradig gefährlich.
Die gehören nämlich eben gerade nicht zur öffentlichen Schnittstelle, weshalb weder deren Existenz noch die Konsistenz deren Funktionsweise gewährleistet sind.

Mit anderen Worten: Es könnte Dir mit jedem Servicepack/Update des Frameworks passieren, dass sich da was geändert hat und Dein Code schlichtweg nicht mehr funktioniert oder im schlimmsten Fall üble Seiteneffekte hervorruft.

Gruß, MarsStein

Thema: [Review] Programm zum sicheren Starten und Loggen des Startvorgangs von Programmen
Am im Forum: Code-Reviews

Hallo,

was mir daran gar nicht gefällt, ist, dass überall in den Methoden die Status/Logmedungen als Strings zurückgegeben werden.

Das mag in diesem speziellen Fall ja OK sein und das tun was Du willst.
Als Konzept finde ich es aber grauselig, und sollte man sich nicht angewöhnen/abschauen.

Gruß, MarsStein

Thema: ASP.NET WebForms - Anzeigen eines Lade-Balkens während eines Requests
Am im Forum: Web-Technologien

Hallo,

wenn Du wirklich bei WebForms bleiben willst (und bedenke dabei unbedingt, was Abt bereits geschrieben hat: das ist veraltete Technologie), dann kannst Du auch vollständig dabei bleiben und statt den von Abt erwähnten Möglichkeiten

Zitat von Abt
sowas wird über sogenannte WebSockets gelöst, zB. SignalR.
es mit einem <asp:UpdatePanel> in Verbindung mit einem <asp:Timer> versuchen. So hätte man es zu WebForm-Glanzzeiten gemacht. (das UpdatePanel spielt im Hintergrund auch nur Ajax).

Gruß, MarsStein

Thema: Erkennen ob Tabletmodus aktiviert ist (Windows 10)
Am im Forum: Rund um die Programmierung

Hallo,

und hier ein Artikel der beschreibt, wie Du einen Trigger dafür bastelst und im XAML unterbringst:
Windows 10 Apps: Leverage Continuum feature to change UI for Mouse/Keyboard users using custom StateTrigger

Gruß, MarsStein

Thema: Benutzer soll Pfad/Datei selber auswählen können
Am im Forum: GUI: Windows-Forms

Hallo,

Zitat

comboBox1.Text = System.Console.WriteLine(lines);
Willst Du den Text nun auf die Konsole oder in die ComboBox? ;)

Ich denke Du suchst

comboBox1.Items.Add(lines)
...

Gruß, MarsStein

Thema: Benutzer soll Pfad/Datei selber auswählen können
Am im Forum: GUI: Windows-Forms

Hallo,

Zitat von 123thomas
Und nicht vergessen den Stream zu schließen
ist an dieser Stelle wegen der Nutzung von using nicht explizit nötig. Der dem StreamWriter zugrundeliegende Stream wird dadurch gleich mit geschlossen.

Gruß, MarsStein

Edit: zu spät, aber nun war's schon mal geschrieben...

Thema: Dll mit EmbeddedResources über Rosyln erstellen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

schau mal hier: Including an embedded resource in a compilation made by Roslyn
hth

Gruß, MarsStein

Thema: ASP.NET - Seite nicht editierbar wenn Content in Tabellenzelle in Masterpage
Am im Forum: Web-Technologien

Hallo,

Zitat
ich habe mich die letzten Tage ein wenig in ASP.NET eingearbeitet.
Du bist Dir aber schon bewusst, dass ASP.NET Webforms (im Gegensatz zu MVC) eher ein Auslaufmodell ist?

Zum Problem: sollte eigentlich so klappen. Du schreibst ja auch, dass es prinzipiell funktioniert.
Warum da Dein Designer nicht mitmacht, kann ich Dir nicht sagen... ich vermute, dass irgendwo etwas an der (entstehenden) Gesamtstruktur nicht passt.
Zitat
Sollte ich anstatt der ASP-Table lieber eine normale HTML-Table verwenden?
Wenn die Dir reicht und Du serverseitig nicht auf die ASP-Tabelle angewiesen bist: ja. Serverseitige Controls habe ich immer nur benutzt wo ich sie auch brauche.
Sollte aber für das genannte Problem keinen Unterschied machen.

Gruß, MarsStein

Thema: Elemente aus String auslesen bzw. extrahieren
Am im Forum: Grundlagen von C#

Hallo,

Crosspost hier: Problem with C# Lines & String

Gruß, MarsStein

Thema: K.I. für Darts Spiel
Am im Forum: Rund um die Programmierung

Hallo,

und auf jeden Fall aufpassen, dass Triple 25 ausgeschlossen ist ;)

Gruß, MarsStein

Thema: MVVM: ViewModel Instanz wird doppelt erzeugt
Am im Forum: GUI: WPF und XAML

Hallo,

Zitat
In der entsprechenden View wird das entsprechende ViewModel als Resource hinterlegt.
Warum denn? Das ist genau der Knackpunkt, warum immer eine neue Instanz des ViewModels zusammen mit der View erstellt wird...
In der View selbst ist das aus der übergeordenten View gebundene ActiveViewModel gleichzeitig der DataContext. Darüber kannst Du von der View aus aufs VM zugreifen.

Gruß, MarsStein

Thema: LINQ und der Debugger / Set Next Statement...
Am im Forum: Datentechnologien

Hallo,

das dürfte daran liegen, dass unter der hier gezeigten Verwendung von LINQ noch Hilfsklassen generiert werden, um stringTest als Closure in den Lambda-Expressions verwenden zu können.

In der ersten Methode wird dabei das Hilfsklassenobjekt erst erstellt, wenn die if-Prüfung abgeschlossen ist. Genau genommen wird sie erstellt zwischen der Prüfung und der Zuweisung des Strings. Diese Stelle überspringst Du dann, wenn Du die nächste Anweisung verbiegst (da dies bei Abt offenbar erst nach einigen Versuchen aufgetreten ist, vermute ich hier sogar eine Art Race-Condition, bin mir aber nicht sicher).

Die zweite Methode verwendet kein LINQ und keine Closure, daher tritt der Effekt dort nicht auf.

Im dritten Fall wird das Hilfsklassenobjekt bereits vor der if-Abfrage erstellt, weshalb hier das Umbiegen der aktuellen Anweisung diesen Schritt nicht überspringt, und daher der Fehler auch nicht auftritt.

So interpretiere ich jedenfalls die Ausgabe von ILSpy...

Gruß, MarsStein

Thema: Stichmuster für Stickereien
Am im Forum: Grafik und Sound

Hallo,

ich denke ich würde das gewünschte Bild nehmen, und (z.B. mittels GetThumbnailImage) auf die gewünschte Rastergröße in Pixeln skalieren (im Beispiel aus dem Startpost also auf 160x88 Pixel).
Dabei wird das Bild ja schon ziemlich optimal umgerechnet.

Anschließend dann das enstandene Bild in ein palettenbasiertes Format mit den gewünschten Farben konvertieren.
Dann kann man einfach Pixel für Pixel durchlaufen und die gewünschte Tabelle erstellen.

Gruß, MarsStein

Thema: WPF DataContext Zugriff wird verweigert
Am im Forum: GUI: WPF und XAML

Hallo,

nun mal zurück zum eigentlichen Problem:
Mal abgesehen davon, dass das MainViewModel natürlich INotifyPropertyChanged auch implementieren sollte (in der Deklaration, nicht nur die Member reinpacken), läuft der Code aus dem Startbeitrag 1:1 so wie er ist bei mir ohne Fehler.

Gruß, MarsStein

Thema: WPF DataContext Zugriff wird verweigert
Am im Forum: GUI: WPF und XAML

Hallo,

Zitat von Christoph1972
Was spricht dagegen?
z.B. dass so ein Command auch noch ein CanExecute zur Verfügung stellt, über das festgestellt wird ob das Kommando ausgeführt wird. Wenn Deine Buttons immer aktiv sind --> kein Problem.
Andernfalls fängst Du dann wieder an im CodeBehind irgendwelche Enabled/Disabled Dinger reinzufummeln - was ja im ViewModel nicht geht, da es das UI nicht kennt (kennen soll).
Dann fängst Du an aus dem CodeBehind auf Deine INotifyPropertyChanged zu subscriben etc.
Und das bläht den Code dann wirklich auf.

Oder Du hast eben für jeden Button nochmal Properties im ViewModel - dann sparst Du aber auch nix.

Gruß, MarsStein

Thema: Merkwürdige Zugriffe ?from=http://...
Am im Forum: Web-Technologien

Hallo,

ich kann Abt nur beipflichten:
Wenn Deine Anwendung im öffentlichen Internet steht, muss/sollte sie prinzipiell mit allen möglichen Anfragen klar kommen, egal ob Du diese erwartest oder nicht.
"Geheim" bleibt eine Seite nicht lange, dazu schwirren zu viele Crawler/Bots durchs Netz. Ggf. wird die Seite schon über Deinen Provider gefunden.

Gruß, MarsStein

Thema: UserControl mit Fenstern: Beim Schliessen werden alle Fenster (inklusive UserControl) geschlossen
Am im Forum: GUI: WPF und XAML

Hallo,

ich glaube das grundsätzliche Problem ist woanders begraben. Überprüfe mal, was in Deinem Code passiert nachdem Du das Dialogfenster geschlossen hast... Irgendwas muss ja da das Schließen des Hauptfensters verursachen.
Vielleicht stürzt Dein Programm auch einfach ab, hast Du irgendwo z.B. try-catch-Blöcke wo eine Exception verschluckt wird oder sowas?

Bei der Fehleranalyse kann Dir wahrscheinlich auch [Tutorial] Vertrackte Fehler durch Vergleich von echtem Projekt mit minimalem Testprojekt finden helfen.

Gruß, MarsStein

Thema: Codeänderung Visual Studio 2015
Am im Forum: GUI: Windows-Forms

Hallo,

manuelle Änderungen in der FormXYZ.Designer.cs-Datei werden immer wieder verloren gehen, wenn man im Designer was ändert.
Deshalb macht man die Änderungen eben nicht in der Designer-Datei, sonder direkt in FormXYZ.cs, dann bleiben sie auch erhalten. Es gibt auch keinen Grund, in der Designer-Datei rumzufuhrwerken.

Gruß, MarsStein

Thema: Volumetype in Microsoft.BitLocker.Structures.VolumeType herausfinden
Am im Forum: Rund um die Programmierung

Hallo,

steht im ersten Ergebnis bei Bing wenn Du nach dem benutzten Befehl "Get-BitlockerVolume" suchst:
Get-BitlockerVolume

Zitat
-- VolumeType. Data or Operating System.

Gruß, MarsSTein

Thema: Alternativ Programm für Win Aufgabenplaner
Am im Forum: GUI: Windows-Forms

Hallo,

Du könntest ja einfach Dein Programm die benötigten 3 Aufgaben anlegen lassen.
Helfen könnte dabei z.B. Task Scheduler Managed Wrapper.

Gruß, MarsStein

Thema: Daten von API-Server (HTML) abfragen mit C# (War VB davor)
Am im Forum: Web-Technologien

Hallo,

versuch's mal mit WebClient.DownloadString ;)

Gruß, MarsStein

Thema: Sudoku-Solver trägt falsche Lösungszahlen ein
Am im Forum: Grundlagen von C#

Hallo,

Das hatten wir hier mal im Programmierspiel. Dort sind zwei verschiedene Lösungen, wie man ein Sudoku mit Backtracking lösen kann. Vielleicht möchtest Du Dir noch Anregungen holen:

Das Programmier-Spiel: nette Übungsaufgaben für zwischendurch (Lösung von Campac68)
Das Programmier-Spiel: nette Übungsaufgaben für zwischendurch (Lösung von mir)


Gruß, MarsStein

Thema: Viele Buttons um eine Funktion erweitern und trotzdem nur einen EventHandler im Hauptprogram nutzen?
Am im Forum: GUI: Windows-Forms

Hallo,

nutze für den normalen (nicht langen) Click das MouseUp-Event, um den OnClick auszuführen: Allerdings nur dann, wenn der Timer noch nicht den langen Click ausgelöst hat - sprich, Du musst Dir merken, ob das LongClick-Event über den Timer schon ausgelöst wurde, und das dann im MouseUp-Handler abfragen.

Gruß, MarsStein

Thema: Statische Propertie in Task (Verständnisproblem)
Am im Forum: Grundlagen von C#

Hallo,

Zitat
Ich benutze eine synchronized Queue:

Ja, schon. Das ist aber hier nicht die Frage, sondern wie Du den Zugriff auf Deinen Counter synchronisierst - sprich, wie AddTaskCounter und SubstractTaskCounter implementiert sind.
Da scheint die Synchronisierung zu fehlen.
Zitat
Variante A ist auch kacke, weil der Zähler runter gezählt wird, auch dann wenn die Task noch nicht beendet ist. Oder?
Richtig.

Gruß, MarsStein

Thema: Entfernte Registry warten
Am im Forum: Netzwerktechnologien

Hallo,

so einen Dienst gibt's schon unter Windows.
Schau mal in RegistryKey.OpenRemoteBaseKey Method

Beachte was da unter "Remarks" steht!

Gruß, MarsStein

Thema: Dateiname von angezeigtem PDF vorbelegen
Am im Forum: Web-Technologien

Hallo,

Du solltest Dein PDF nicht in einer ASPX-Seite ausliefern und dann so Sachen machen wie

Response.Clear();
...
Response.BinaryWrite(arrPdf);
Response.Flush();

Das ist ziemlich grauselig. Die ASPX-Seite ist dafür da, eben normale, auf dem Server generierte Webseiten auszuliefern. Der die Response unterm Hintern wegzuziehen und was eigenes reinzuschreiben sollte man tunlichst vermeiden.

Schreib Dir für das PDF einen eigenen HTTPHandler (.ashx) - wie das geht fidest Du mit diesen Stichworten hier im Forum.

Gruß, MarsStein

Thema: ArgumentOutOfRangeException bei der List
Am im Forum: Grundlagen von C#

Hallo,

Zitat
Also wenn ich das x in i ändere dann funktioniert das genau so wenig...
Klar. Überleg mal genau was da passiert.

Entweder Du solltest x-mal an der Stelle 0 entfernen, dann entfernst Du immer das jeweils erste Element in der Liste (wodurch dann das nächstfolgende zum neuen ersten wird).
Oder Du fängst beim letzten Element Element an. Dann musst Du aber Deine Schleife so umbauen, dass sie von i = Count - 1 x-mal rückwärts läuft (mit kleinerwerdendem Index -> i--).

Gruß, MarsStein

Thema: Bildbearbeitung LockBits --> Bild ist Rot, Grün und Blau gestreift
Am im Forum: Grafik und Sound

Hallo,

wenn ich es richtig sehe beachtest Du den Stride nicht. Das ist sozusagen die "eigentliche" Länge einer Zeile in der Bitmap - die Zeilen werden ggf. hinten mit einigen bytes aufgefüllt.

Schu Dir an wie das in GetPixel und SetPixel um Längen geschlagen. 800 mal schneller im zweiten Codeblock behandelt wird.

Gruß, MarsStein

Thema: Berechnung des BMI. Fehler wenn nach erfolgter Berechnung Wert geändert wird
Am im Forum: Grundlagen von C#

Hallo,

Zitat von masen
Ich werde mich gleich mal daran setzen. Was mir schon mal aufgefallen ist...

person.BMI = NULL;

...geht so nicht, oder?

Doch, in gfoidls Beispiel geht das, weil BMI als decimal? (achte auch das Fragezeichen) deklariert ist.
Es handelt sich dabei um ein Nullable<decimal>.

bindingSource1 ist eine BindingSource, die an die View gebunden wird.

Wie die beiden Dinge funktionieren, kannst Du den verlinkten Doku-Seiten entnehmen.

Gruß, MarsStein

Thema: Klasse ohne direkten Namen erstellen
Am im Forum: Grundlagen von C#

Hallo,

wenn Du die Einzeltelegramme mit einem Namen ansprechen willst, den Du zur Laufzeit zusammensetzt, hilft Dir hier am besten ein Dictionary<string, Einzeltelegramm>.
Da kannst Du dann die einzelnen Instanzen unter ihrem Namen ablegen.

Gruß, MarsStein

Made with ♥ and ASP.NET Core. Rendered in 454.74ms. Running Version 0.1.293+661e2d50d5 on Azure App Service (debian.10-x64 with .NET 5.0.5)
Copyright 2003-2021 myCSharp.de - Alle Rechte vorbehalten. Benutzerinhalte unterliegen cc-by-sa 4.0