Moin,
ich mache das jetzt über den Umweg eines weiteren Programms ... das setzt dann entsprechend die Registry-Werte
Misc.LimitBlankPasswordUse(false);
Process p = new Process();
p.StartInfo.FileName = ".\\myRegEdit.exe";
p.StartInfo.UserName = "bediener";
p.StartInfo.UseShellExecute = false;
p.Start();
Misc.LimitBlankPasswordUse(true);
da Windows glücklicherweise keine Anmeldung mehr mit leerem Passwort zulässt, muss das für den Teil kurz deaktiviert werden ... http://www.heise.de/ct/hotline/Passwortloser-Account-fuer-MachMichAdmin-319732.html ... die Methode ist natürlich nicht wirklich sicher in dem Moment
/// <summary>
/// ermöglicht den Zugriff von Benutzer mit leerem Passwort
/// </summary>
/// <remarks>http://www.heise.de/ct/hotline/Passwortloser-Account-fuer-MachMichAdmin-319732.html</remarks>
/// <param name="value">TRUE wenn leere Passwörter nicht Erlaubt sind</param>
/// <returns>der alte Status</returns>
public static bool LimitBlankPasswordUse(bool value)
{
bool old = false;
RegistryKey key = Registry.LocalMachine;
try
{
key = key.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\Lsa", true);
old = Int32.Parse(key.GetValue("LimitBlankPasswordUse").ToString()) == 1 ? true : false);
key.SetValue("LimitBlankPasswordUse", value ? 1 : 0);
Logging.warn("LimitBlankPasswordUse -> Old: " + old + " - New: " + value);
} catch (Exception ex)
{
Logging.error(ex);
Logging.warn("keine Schreibrechte für Key 'LimitBlankPasswordUse'");
}
return old;
}
falls jemand eine Lösung ohne das Zerstören der Sicherheit hat, dann immer her damit
hand, mogel
CSL schrieb:
Sie werden erst zerstört sobald Closing vorbei ist, darum besteht auch die Möglichkeit beim Closing ab zu brechen.
nun muss ich mal etwas Kleinkarriert sein (falsches Hemd an) ... solange es sich um GUI-Objekte handel -> JA ... wenn es sich umzusätzliche Instanzen handelt, dann existieren die auch noch nach dem Closed-Event, sofern im Event an der Stelle nicht aufgeräumt wird (oder Dispose angepasst wurde)
hand, mogel
Wie im anderen Thread gesagt, solltest du einen besseren Titel wählen und deine Beschreibung präzisieren. Unter der Methode Invoke kann man vieles verstehen. Ich gehe jetzt mal von WPF oder WinForms aus.
Bei diesen beiden Methoden ist es natürlich dazu gedacht, dass ein anderer Thread einen Aufruf im Kontext des UI-Threads machen kann. Dies ist nötig, weil das GUI nicht threadsicher ist.
Grüssli
voke schrieb:
muss dieses new Object[] sein?
die objekte this und a existieren ja schon !
Nein muss es nicht, sofern du ein Control.Invoke oder Dispatcher.Invoke meinst. Deine Beschreibung ist da ziemlich dürftig und der Titel noch mehr.
Bei den beiden von mir genannten Invoke Methoden ist der letzte Parameter mit dem Schlüsselwort params versehen.
Grüssli
Steht alles in der Dokumentation:
http://msdn.microsoft.com/en-us/library/system.threading.autoresetevent.aspx
Calling Set signals AutoResetEvent to release a waiting thread. AutoResetEvent remains signaled until a single waiting thread is released, and then automatically returns to the non-signaled state. If no threads are waiting, the state remains signaled indefinitely.
Etwas sehr einfach gesagt: Der Thread, welcher aktiviert wird, führt zum Reset .
Grüssli
ref und out können nur bei direkten Variablen (bzw. fields) benutzt werden, nicht bei Eigenschaften (und auch ein Indexer ist eine Eigenschaft, d.h. besteht aus einer Get- und Set-Methode).
Als Ausweg ginge:
MyClass controller = new MyClass();
Measurement m = controller.Measurements[0];
FormChild dummy = new FormChild( ref m );
controller.Measurements[0] = m;
Benötigst du denn überhaupt den Parameter als Referenz, d.h. willst du innerhalb der Methode (bzw. Konstruktor) dem Parameter ein neues Objekt (per Zuweisung oder mittels new) zuweisen?
Wenn du nur die Eigenschaften bzw. Member von dem Measurement-Objekt ändern willst, dann brauchst du kein 'ref' anzugeben (außer Measurement wäre als 'struct' deklariert und nicht als 'class').
P.S. Gestern gab es im MyCSharp-Forum eine ähnliche Frage: http://www.mycsharp.de/wbb2/thread.php?threadid=87256 (inkl. Link auf Artikel dazu: http://www.mycsharp.de/wbb2/thread.php?threadid=12251 )
Hi Witte,
das war's tatsächlich. Ich habe beim Client- als auch beim Server-Contract das ServiceKnownType-Attribut gesetzt und jetzt funzt es. Besten Dank nochmal
Greetz,
Chris
Wieso gehst du überhaupt den Umweg über die Klasse Graphics ? Wieso verwendest du nicht einfach die Methode Clone von Bitmap ?
Im übrigen sieht das Bild, welches du uns hier zeigst, für mich nicht Anti-Aliased aus. Gerade zum Beispiel die rote Linie ist immer noch schön pixelig.
Grüssli
Du kannst ein DataTable zum Aufnehmen der Daten verwenden. Über eine BindingSource kannst du sie in einem Datagridview darstellen. Diese BindingSource besitzt einen Filter über den du bestimmte Sätze filtern kannst. Ein DataAdapter vermittelt zur Datenbanktabelle.
Das Klingt doch schonmal recht interessant. Mal schauen ob ich das so hinbekomme, muss leider erstmal noch was anderes basteln, kann also sein das ich den Thread irgendwann nochmal hochgrabe wenn sich näheres ergibt.
Besten dank schonmal für den guten Ansatz.
Brauchst du das denn überhaupt?
Ich meine mich erinnern zu können, dass der XmlSerializer da nicht so restriktiv ist und ein kurzer Test hat mich da eigentlich bestätigt oder übersehe ich da nur mal wieder was.
Sind beim Deserialisieren Properties vorhanden die nicht im XML sind bleiben sie einfach unberührt. -> Kein Problem
Sind beim Deserialisieren XML-Elemente vorhanden, die keine entsprechenden Properties haben werden sie ignoriert. -> Kein Problem
Th69 schrieb:
Auf den Anfangsbeitrag bezogen:
es gibt auch die statische Methode "Object.Equals":
return Object.Equals(m_foo, other.m_foo);
welche auch null-Werte berücksichtigt -)
Danke für den Hinweis. Noch nie benötigt, aber trotzdem gut zu wissen
Grüssli