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 Spook
Thema: Mit Mausklick an dieser Stelle der Form eine Combo Box erstellen und aufklappen lassen?
Am im Forum: Grundlagen von C#

Versuch diese Änderung:

        public Form1()
        {
            InitializeComponent();
            GetData();
        }

Grüße

Thema: Session / Cookies Handling des Forums meldet mich alle paar Stunden ab
Am im Forum: Smalltalk

Das Löschen des Cookie Caches scheint das Problem bei mir gelöst zu haben. Bin seit gestern Nachmittag immer noch eingeloggt und bleibe es anscheinend auch nach mehreren Pausen und Reboot des Rechners.

Thema: Session / Cookies Handling des Forums meldet mich alle paar Stunden ab
Am im Forum: Smalltalk

Hallo,

mir ist dies heute auch zum ersten Mal aufgefallen.
Nach einem Neustart des Browsers ist der Login auch direkt weg.

Ich habe testhalber Cookies explizit für die Webseite erlaubt und das Löschen beim Beenden ist in den Einstellungen deaktiviert.

Habe ebenfalls FF 69.0.1 (64-Bit).

@Th69
Ja nach einiger Zeit, oder Neustart des Browsers

Edit:

In Edge geht es ohne Probleme.

Das Löschen aller Cookies im FF über STRG+SHIFT+DEL scheint das Problem, zumindest beim Browser Neustart, gelöst zu haben.

Thema: Threadsafe Liste, bei der ein Tasks den exklusiven Zugriff erhalten kann
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Also geht es dir primär nicht um das Synchronisieren eines konkreten Zugriffs auf eine Instanz von List<T> (oder ähnlich) sondern du möchtest eher zwei getrennte Zugriffsebenen?

Du könntest mehrere ReaderWriterLocks oder Sync-Objekte verwenden. Die "normalen" Tasks locken immer nur Ebene 1. Wenn ein Task exklusiven Zugriff möchte lockt er ebenfalls Ebene 1 und die Threads dieses Tasks locken nur Ebene 2 um sich intern zu synchronisieren.

Thema: Threadsafe Liste, bei der ein Tasks den exklusiven Zugriff erhalten kann
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Palladin,

für mich klingt das nach ReaderWriterLock Class.
Mit dieser konnen mehrere Threads parallel aus der Liste lesen, aber immer nur ein Thread die Liste verändern.

Grüße
spooky

Thema: Für alle möglichen Kombinationen Datei und MD5 Hash erzeugen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo flo87,

ich würde einen Integer-Datentyp (mit passender Größe) und eine einfache for-Schleife verwenden:

		int requiredBits = 20;
		uint maxValue = 1u << requiredBits;
		for (uint register = 0; register < maxValue; register++)
		{
			bool bit1 = (register & 1) != 0;
			bool bit2 = (register & 2) != 0;
			bool bit3 = (register & 4) != 0;
			bool bit4 = (register & 8) != 0;
			// ...
		}

Mit dieser wird jede mögliche Kombination exakt einmal durchlaufen. Du musst lediglich die einzelnen Bits an deinen weiteren Algorithmus anbinden.

Grüße
spooky

Thema: Fenster skalieren nur für die Höhe erlauben
Am im Forum: GUI: WPF und XAML

Hallo Urza,

dies entspricht nicht dem was ich beim Debuggen einer leeren Anwendung (.NET 4.8) erhalte. Vielleicht ist die Dokumentation hier nicht korrekt oder auf dem neusten Stand.


Grüße

Thema: Fenster skalieren nur für die Höhe erlauben
Am im Forum: GUI: WPF und XAML

Hallo,

Zitat
da das Loaded Event wahrscheinlich leider vor SizeToContent ausgelöst wird

Dies sollte eigentlich nicht der Fall sein.
Du könntest allerdings versuchen mit Hilfe des Dispatchers die Fixierung der Breite so zu verzögern, dass diese nach deinem Layoutprozess passiert.

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            this.Dispatcher.BeginInvoke(new Action(() =>
            {
                this.MinWidth = this.MaxWidth = this.ActualWidth;
            }), DispatcherPriority.Background);
        }

Dabei musst du ggf. mit dem DispatcherPriority-Wert spielen, wobei 'Loaded' dem Loaded-Event des Fensters entpricht.

PS: Die Reihenfolge der Window-Events ist:
  1. Initialized
  2. Loaded
  3. Activated


Vielleicht reicht es auch den Code im Activated-Event auszuführen.
(Activated wird allerdings jedes Mal aufgrufen, wenn das Window aktiv wird! Daher wäre es sinnvoll hier das Event wieder zu deregistrieren.)

Grüße

Thema: Fenster skalieren nur für die Höhe erlauben
Am im Forum: GUI: WPF und XAML

Hallo,

dies könnte ein Lösungsweg sein:
WPF Window - Only allow horizontal resize

Grüße

Thema: WPF Datagrid Zellen nach Inhalt von einem Excel Dokument färben.
Am im Forum: GUI: WPF und XAML

Wenn das Bindungsziel vom Typ Brush ist kann der Converter auch einen Namen (string) aus der statischen Brushes Klasse zurückgeben. Diese wird automatisch in den passenden Brush konvertiert so wie als wäre dieser im XAML direkt gestanden.

Grüße

Thema: DPI Scaling Multi Resolutions and DPI Settings
Am im Forum: GUI: Windows-Forms

Hallo Chevy77,

ich habe mich damals an dieses Dokument gehalten.
Beim Überfliegen dieses finde ich diesen Abschnitt:

Zitat
We recommended that you specify the default process DPI awareness via a manifest setting.

Ich kann nur sagen, dass es mit diesen Werten funktioniert (unter Windows 10 1809).

Grüße

Thema: DPI Scaling Multi Resolutions and DPI Settings
Am im Forum: GUI: Windows-Forms

Bei mir sieht der Eintrag wie folgt aus:

  <application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
      <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitor</dpiAwareness>
      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
    </windowsSettings>
  </application>

Versuche es mal damit.

Thema: DPI Scaling Multi Resolutions and DPI Settings
Am im Forum: GUI: Windows-Forms

Hallo Chevy77,

dies sollte mit Hilfe folgender Einstellungen funktionieren:

Setting the default DPI awareness for a process

Unsere Anwendung wechselt automatisch die Skalierung je nach Monitor, auch im laufenden Betrieb, wenn man sie zwischen den Monitoren verschiebt, sobald du

<dpiAwareness>PerMonitor</dpiAwareness>
festlegst.


Grüße
spooky

Thema: DLL Architektur feststellen (32bit/64bit/AnyCPU)
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo Ramokthan,

leider konnte ich auf die schnelle auch keine Dokumentation zu der genauen Bedeutung von ILONLY finden. Nachdem ich einige DLLs von uns mit corflags.exe angeschaut habe, gehe ich davon aus, dass das Flag bedeutet, dass kein unmanaged code vorhanden ist und nichts mit 32/64/AnyCPU an sich zu tun hat.
Bei einer unserer Mix-Mode DLLs ist ILONLY 0 und ILSpy gibt folgende Info aus:
"This assembly contains unmanaged code."

Ansonsten würde ich auf die Tabelle in folgendem Post verweisen (diese scheint mir korrekt zu sein):
How to interpret the CorFlags flags?

Grüße
spooky

edit:Typo

Thema: DLL mit mehreren UserControls anlegen, die ich über die Toolbox anlegen kann
Am im Forum: Grundlagen von C#

Dann würde ich bei beiden Controls gegen das gleiche VM binden. Musst du doch eh machen, wenn diese auf die gleichen Daten zugreifen sollen.

Thema: DLL mit mehreren UserControls anlegen, die ich über die Toolbox anlegen kann
Am im Forum: Grundlagen von C#

Hallo Gimmick.

Wieso erstellst du nicht ein neues UserControl das die Text- und ListBox enthält und dieses Control auf die "Datenbasis" zugreift? Damit kannst du die Daten an dieses Control binden und dann auch mehrfach verwenden.

Grüße

Thema: Dynamisch ein Object von Type erstellen
Am im Forum: Grundlagen von C#

Hallo HexEdit,

mit Activator.CreateInstance

Grüße
spooky

Thema: OLEdBDataReader bringt den Speicher an seine Grenzen
Am im Forum: Datentechnologien

Zitat von ThomasE.
Der RAM läuft nicht voll
Hmm, mag sein. Trotzden klingt 3,8GB bei einem 32bit Prozess erstmal nicht so gut. Vielleicht ist die Fehlermeldung nicht korrekt ... wäre nicht das erste Mal.
Dies würde zumindest erklären warum es mit 64bit funktioniert ... natürlich kann dies auch andere Gründe haben. Trotzdem könnte man es prüfen.

Grüße

Thema: OLEdBDataReader bringt den Speicher an seine Grenzen
Am im Forum: Datentechnologien

Hallo Soier,

hast du es mal mit einer kleineren Pagesize versucht und geschaut ob der RAM immernoch voll läuft?
Mir fällt noch auf, dass du bei dem Aufruf von fill(..) immer 'pagesize' viele Zeilen liest? Funktioniert das wirklich - auch wenn 'zeilenanzahl' kein Vielfaches von 'pagesize' ist?

Grüße
spooky

Thema: Geht der folgende Code auch effizienter?
Am im Forum: Code-Reviews

Zitat von mchrd
Was würde man noch prüfen, bevor man mit dem File.ReadAllLines auf die Datei zugreift?

Hallo mchrd,

eine vorangestellt Prüfung macht keinen Sinn, da selbst wenn deine Prüfung positiv ist, kann die Datei zwischen deiner Prüfung und deinem Zugriff gelöscht oder gelockt werden. In diesem Fall bekommst du wieder eine Exception ... bist also genau so weit wie vorher. Daher einfach versuchen die Datei zu öffnen, so wie du es bereits jetzt machst.

Kleiner Verbesserungsvorschlag:
Anstatt File.ReadAllLines könntest du File.ReadLines verwenden, so dass nicht erst die komplette Datei geladen werden muss.


Grüße
spooky

Thema: Schnittstellenänderung in dll mit alter exe wirft Fehler trotz optionalem Parameter
Am im Forum: Rund um die Programmierung

Hallo Turmoil,

ja das passiert weil die optionalen Parameter(werte), wenn du sie weglässt, beim aufrufenden Code (zwangsweise) mit einkompiliert werden - so als würdest du die Methode mit allen Parametern aufrufen.
Daher ist was du vorhast nicht möglich.
Auch wenn du zwei Versionen mit gleicher Signatur und sich ändernen Standardwerten hättest, würde die alte (exe) Version immernoch die alten Standardwerte vom damaligen Kompilieren verwenden.

Grüße
spooky

Thema: XML Datei erweitern mit verschiedenen Datensätzen
Am im Forum: Datentechnologien

Zitat von T-Virus
Zu beachten ist auch, dass deine Sections einen XML Namespace(xmlns Attribut) haben.
Diese musst du beim auslesen der Nodes und auch bei den anderen X* Klassen meistens mit angeben, sonst werden diese wegen dem Default Namespace nicht gefunden.


XNamespace nse = "http://www.siemens.com/automation/Openness/SW/Interface/v3";
xDoc.Root.Descendants(nse + "Section").SelectMany(p => p.Elements()).ToList().ForEach(p => p.Remove());

Grüße

Thema: Auslesen aus Byte Array und umwandeln zu Double
Am im Forum: Rund um die Programmierung

Hallo Sumsum,

ich vermute, dass file_buf ein byte-Pointer ist (char*/unsigned char*/BYTE*).
Was willst du mit dem shiften erreichen? Vermutlich shiftest du einen byte Wert!?

Wenn du einen double auslesen willst, sollte der Code von Th69 funktionieren (dieser castet deinen byte-Pointer in einen double-Pointer).
Prüfe doch bitte erstmal was für einen Pointer-Typ du hast. Dann stell sicher, dass du an die richtige Stelle zugreifst (Index-Operation) um den double zu lesen. Dann könnte es noch sein, dass der Wert als BigEndian gespeichert wurde?!

Grüße
spooky

Thema: Text-Suchfunktion in WPF
Am im Forum: GUI: WPF und XAML

Zitat von p!lle
Das Weitersuchen funktioniert auch mit seinem Code.
Nur wenn das letzte Vorkommnis gefunden wurde, gibt es 1x keinen Treffer - in beiden Varianten.


Nicht, wenn der gesuchte Text an Index 0 steht ... (beide Bedingungen sind false, und so wird immer an 0 gesucht aber es passiert nichts!

Thema: Text-Suchfunktion in WPF
Am im Forum: GUI: WPF und XAML

Hallo marlem,

du ignorierst den den Fall, dass ein Treffer auch an Index 0 sein kann.
So sollte das Suchen durch den gesamten Text funktionieren (auch mehrmalig).


                gefunden = TBXEditor.Text.IndexOf(edtSuchen.Text,Math.Max(gefunden, 0));

                if (gefunden ≥ 0)
                {
                  TBXEditor.SelectionStart = gefunden;
                  TBXEditor.SelectionLength = edtSuchen.Text.Length;
                  TBXEditor.Select(gefunden, edtSuchen.Text.Length);
                  gefunden++;
                }

Grüße
spooky

Thema: Suchen und Finden von eine Dateinamen in Ordner + Unterordner
Am im Forum: Grundlagen von C#

Hallo Marccore,

mit dieser Methode kannst du direkt filtern und bekommst nur passende Dateien zurück:
Directory.GetFiles

z.B.:

Directory.GetFiles(".", "*990320*", SearchOption.AllDirectories);

Grüße
spooky

Thema: Bitmap öffnen ohne Datei zu sperren
Am im Forum: Grafik und Sound

Hallo Gimmick,

ich würde die Daten einlesen und diese dann weiterverwenden:


            MemoryStream stream = new MemoryStream(File.ReadAllBytes(filename));
            Bitmap bitmap = new Bitmap(stream);

Grüße
spooky

Thema: Definition wird nicht gefunden, ist jedoch in der AppDomain gelistet
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Stu42,

wenn der Typ aus dem typeof-Ausdruck nicht gefunden werden kann, dann bekommst du eine FileNotFoundException mit der Information, dass Assembly XYZ, Version=.... oder eine Abhängigkeit davon nicht geladen werden konnte. Er kann also eigentlich nicht null sein. Ist es vielleicht nur ein Anzeigeproblem von Visual-Studio?


Grüße
spooky

Thema: Forms Awendung: Mauszeiger soll Form nicht verlassen können
Am im Forum: GUI: Windows-Forms

Vielleicht hilft dir die ClipCursor function weiter.

Grüße
spooky

Thema: OpenCV: Unrecognized or unsupported array type
Am im Forum: Rund um die Programmierung

Hallo Stauch30,

ich denke nicht, dass es am CircleF Array liegt, da dieses im Wrapper manuell erzeugt wird. Die Fehlermeldung kommt vom Methodenaufruf selber.
Kannst du prüfen, ob dein Input-Image immer 8-bit, single channel ist.

Grüße
spooky