Laden...
S
snupi
myCSharp.de - Member
101
Themen
357
Beiträge
Letzte Aktivität
vor 12 Jahren
Dabei seit
02.06.2007
Erstellt vor 12 Jahren

Der Hintergrund ist folgender: ich öffne in einer WPF-Anwendung eine View mit ShowDialog, welche nur einen OK-Button hat. Dieser sollte beim Öffnen der View disabled sein, und erst bei im weiteren Verlauf auf enabled geschalten werden (die View bleibt aber immer offen) - ich habe hier schon mit Dependency-Properties gespielt... daher war meine Idee, die View zuerst mit inaktiven OK-Button zu öffnen, dann programmatisch (SendMessage, WM_CLOSE) zu schliessen und wieder mit aktvien OK-Button zu öffnen ...

Erstellt vor 12 Jahren

Kann ich aber mit SendMessage OK oder CANCEL schicken ?

Erstellt vor 12 Jahren

Wie kann ich None senden (SendMessage) ?

Erstellt vor 12 Jahren

Wie kann ich mit SendMessage einer View, welche mit ShowDialog geöffnet wurde, ein DialogResult = null senden (damit ich sie im Programm gezielt mit einem ResultCode schliessen kann - WM_CLOSE liefert DialogResult = Cancel) ?

Erstellt vor 12 Jahren

habe nun bissi getestet und es muss das XmlElement()-Attribut gesetzt sein, dann wird auch xxxSpecified gesetzt

Erstellt vor 12 Jahren

Ich deserialisiere einen xml-String auf die Klasse 'Dummy'.

Im xsd ist das Feld 'num' mandatory und das Feld 'str' optional (minOccurs=0)


public class Dummy {
   int numField;
   string strField;
   bool strFieldSpecified;

   public int num {
       get {
           return this.numField;
       }
       set {
           this.numField = value;
       }
   }

   public string str {
       get {
           return this.strField;
       }
       set {
           this.strField = value;
       }
   }

   [System.Xml.Serialization.XmlIgnoreAttribute]
   public bool strSpecified {
       get {
           return this.strFieldSpecified;
       }
       set {
           this.strFieldSpecified = value;
       }
   }
}

Kann man den (De)Serializer veranlassen, den Wert xxxSpecified automatisch zu setzen ?

Ich kann natürlich den Wert beim Setzen der zugehörigen Property selbst setzen, nur müsste ich dann alle optionalen Elemente manuel erweitern:


   public string str {
       get {
           return this.strField;
       }
       set {
           this.strField = value;
           this.strFieldSpecified = true;
       }
   }

Bei WCF Services habe ich bemerkt, dass diese Specified-Felder automatisch gesetzt werden...

Erstellt vor 12 Jahren

Habe eine Applikation, welche in den Programm-Folder installiert wird (C:\Program Files (x86)...').

Dieses Programm versucht ein File (config-File) im Ausführungs-Ordner zu öffnen (ReadOnly).

Bekomme hier aber die Fehlermeldung:

Fehlermeldung:
Access to the Path 'C:\Program Files (x86)...' id denied

Wie kann ich hier den Zugang erteilen ?

Eine Möglichkeit wäre, das File in SpecialFolder.ApplicationData abzulegen - nur wie kann ich diese in Visual Studio referenzieren ?

Erstellt vor 12 Jahren

@herbivore : ja das ist mir klar 😃

Ich habe mir 2 StateObjecte jeweils für Lesen und Schreiben erstellt, welche ich jeweils in BeginRead/BeginWrite mitsende.

Da MSDN folgendes sagt:

Lese- und Schreibvorgänge können gleichzeitig in einer Instanz der NetworkStream-Klasse ausgeführt werden, ohne dass eine Synchronisierung erforderlich ist.

hat jedes StateObject jeweils den selben NetworkStream, welches es zum Lesen bzw. Schreiben verwenden kann...

@weismat : genau für diesen Grund synche ich dann 'ausserhalb' mittels einer Write(Snyc)-Queue.

Erstellt vor 12 Jahren

Verwende nun das asynchrone Muster mit NetworkStream.BeginRead/NetworkStream.BeginWrite Ohne Synchronisierung - konnte in meinen Dauertests (heftiges, gleichzeitiges Lesen/Schreiben) bis dato keine Probleme feststellen.

Erstellt vor 12 Jahren

@weismat:

MSDN sagt folgendes:

Lese- und Schreibvorgänge können gleichzeitig in einer Instanz der NetworkStream-Klasse ausgeführt werden, ohne dass eine Synchronisierung erforderlich ist.Unter der Voraussetzung, dass ein eindeutiger Thread für Schreibvorgänge und ein eindeutiger Thread für Lesevorgänge vorhanden sind, überschneiden sich die Lese- und Schreibthreads nicht, und es ist keine Synchronisierung erforderlich.

soviel ich sehe, habe ich keine Überschneidung von Lese- und Schreibthreads

10 von 357 Beiträgen