Laden...

Forenbeiträge von dannoe Ingesamt 263 Beiträge

30.01.2016 - 14:00 Uhr

Für Werttypen kannst du das Keyword "ref" verwenden um ein Call by Reference zu machen. (MSDN - ref
Hier noch ein Artikel für dich: [Artikel] Parameter-Übergabemechanismen: call by value vs. call by reference (ref/out)

Der komplette Inhalt des Buches ist übrigens kostenlos auf der Seite vom Rheinwerk Verlag einsehbar.

Was du mit "erst seit C#" meinst, weiß ich leider nicht.

30.01.2016 - 10:44 Uhr

Du übergibst deinen Methoden nur eine Referenz von "myData". (siehe auch MSDN - Verweistypen)
Du übergibst also nicht jedesmal alle Daten, sondern nur eine Adresse zu den Daten.
Das gilt nur für Verweistypen (s.o.) und nicht für Werttypen (MSDN - Werttypen)

Ich würde dir übrigens das c# openbook von Rheinwerk empfehlen. (Link ist hier links im Menü)

29.01.2016 - 13:54 Uhr

Existiert der String "DisableTaskMgr" bereits für den User?
Könnte es eventuell sein, dass diese Problemverhalten nur auftritt, wenn ein bereits vorhandener Key versucht wird zu ändern?

Sonst hab ich leider auch keine weiteren Ideen. Kann das Problem aber leider auch nicht reproduzieren.
Schonmal probiert mit dem "Admin" Benutzer diesen Wert per Hand in der Registry zu ändern? Möglicherweise ist es doch ein Rechteproblem.

29.01.2016 - 10:51 Uhr

Schau dir mal diesen Beitrag (vor allem der letzte Satz der ersten Antwort und die komplette zweite Antwort) auf Stackoverflow an:

c# - How to edit the registry keys of a specific user programatically? - Stack Overflow

28.01.2016 - 20:49 Uhr

Das ist JSON - Wikipedia.
Dafür gibt es einige Frameworks, z.B.: Json.NET von Newtonsoft

In deinem Json-String fehlt übrigens noch eine geschweifte Klammer am Ende.

19.12.2015 - 04:42 Uhr

Hast du zufällig Avast oder eine andere Antiviren-Software (mit Sandbox Funktion) aktiv?
Falls ja, deaktiviere diese mal temporär und versuch es nochmal.

11.12.2015 - 09:57 Uhr

@der-schlingel Sicher? TU Wien Bibliothek - Bibliotheksausweis

Wenn man Studenten in der Firma oder im Bekanntenkreis hat können diese auch meist über VPN mit der Hochschul IP surfen. Dann spart man sich den Weg.

03.12.2015 - 20:44 Uhr

Hallo gfoidl,

Danke für deine Vorschläge.

Hier einige meiner Bedenken:
*Wenn einer der Kunden einen ausgefallenen Wunsch hat, der damit auch eine ausgefallene GUI fordert, bläht dies den Client unnötig auf. (Beispiel: die Anwendung soll, warum auch immer, ein Musikstück in der GUI als Audiovisualisierung darstellen) Somit müsste ich diesen speziellen Einzelfall in den Client implementieren der im Laufe der Zeit dann bei alle Kunden landet.

*Jeder Entwickler müsste neben der Haupt-Projektmappe auch noch die Projektmappe vom Client in die Hand nehmen, wenn Änderungen durchgeführt werden, welche z.B. die Konfiguration erweitern. In meinem Vorschlag könnte man die Verwaltungs-Assembly einfach als Projekt in der Haupt-Projektmappe pflegen.

*Wie sollen die DataContracts dann behandelt werden? Aktuell haben wir hierfür ein Projekt was von Client und Server referenziert wird. D.h. mit der anderen Methode müsste für jeden Kunden mindestens eine Referenz zum Client hinzugefügt bekommen. In meiner Idee würde die heruntergeladene Assembly dann den DataContract bereitstellen.

Gruß dannoe

03.12.2015 - 14:10 Uhr

Hallo, folgende Situation:

Ich habe X verschiedene Kunden, diese setzen eine bzw. zwei von uns entwickelte Serveranwendungen ein. Die Basis-Funktionalitäten der Anwendungen unterscheidet sich nicht wirklich, aber jeder Kunde hat seine Anpassungen (welche sich auch in unterschiedlichen Konfigurationsmöglichkeiten widerspiegeln). Vor kurzem haben wir die Anwendung eines Kunden auf Windows Service umgestellt und simultan musste die GUI zur Konfiguration/Überwachung (im weiteren K/Ü genannt) weichen.
Jetzt wollten wir natürlich die K/Ü wieder ermöglichen.
Also haben wir die Serveranwendung mit einem WCF Server ausgestattet und für unsere alte GUI einen WCF Client implementiert. (WCF, weil wir eventuell in naher Zukunft zum Überwachungen auch Remote auf die Anwendungen zugreifen wollen, derzeit läuft das immer mit RDP über eine VPN Verbindung)

So jetzt ist uns natürlich aufgefallen wenn wir Änderungen an der Anwendung machen und sich damit neue K/Ü-Möglichkeiten ergeben, muss auch der Client angepasst werden.
Außerdem gibt es mit diesem Weg pro Kunden(!) noch ein zusätzliches Projekt, welches instand gehalten werden muss.

**Idee: **

Der WCF Server stellt einen weiteren Service bereit:
Dieser bietet mir lediglich den Download der "Verwaltungs"-Assembly an. Diese enthält die Logik und GUI zum verwalten der jeweiligen Version.
Der Client bindet die Assembly dann ähnlich wie bei einem Pluginsystem ein.

Auf diese Weise müssen wir dann lediglich einen Client pflegen und können diesen an jeden Kunden ausliefern, egal welche Version/Funktionalität deren Anwendung bereitstellt.

Jetzt meine zwei Fragen:

Gibt es für diesen Ansatz Verbesserungen / Kritik / andere Einwände?
Gibt es so etwas oder ähnliches bereits als fertige Lösung?

Grüße dannoe

02.12.2015 - 18:51 Uhr

Ich hab zwar schon in meinen vorherigen Antworten die Lösung dafür beschrieben, aber hier nochmal:

Wenn dein Control z.B. "axWindowsMediaPlayer1" heißt. (Wie im MSDN Beispiel.)
Dann greifst du über

double currentPosition = axWindowsMediaPlayer1.Ctlcontrols.currentPosition;

auf die aktuelle Zeitangabe des WMP zu.

**Hinweis: **Der Song muss gestartet werden bevor die Werte der oben angegebenen Variable verfügbar ist.

Edit:
Ich hab wohl Duration und CurrentPosition vertauscht. Habe meine Antworten editiert.

02.12.2015 - 18:33 Uhr

Wenn die Anwendung das Video abspielen soll, dann geht das mit dem WMP Control.
Da gibts auf MSDN einen Community Artikel dazu:

Embedding the Windows Media Player Control in a C# Solution (Windows) - MSDN

Und dann eben mit:


// Gesamtlaenge des Video-/Musikstuecks
var duration = yourWMPControl.currentMedia.duration; 

// Aktuelle Position des Video-/Musikstuecks
var currentPosition = yourWMPControl.Ctlcontrols.currentPosition; 

Edit:
currentPosition hinzugefuegt.

02.12.2015 - 18:24 Uhr

Geht es wirklich darum einen bereits extern geöffneten WMP abzufragen oder verwendest du das WMP Control in deiner Anwendung?

Für den ersten Fall (extern):

Retrieve song name from WMP using C# - Stack Overflow

Für den zweiten Fall (WMP Control):


// Gesamtlaenge des Video-/Musikstuecks
var duration = yourWMPControl.currentMedia.duration; 

// Aktuelle Position des Video-/Musikstuecks
var currentPosition = yourWMPControl.Ctlcontrols.currentPosition; 

Edit:
currentPosition hinzugefuegt.

26.11.2015 - 20:29 Uhr

Speicher dir den ersten Index in einer Variable und vergleiche bei jeder Iteration ob der Wert vom aktuellen Index größer (bzw. größer gleich) ist als der Wert vom zuletzt gespeicherten Index. Ist die Schleife fertig, hast du den Index des größten Wertes in deiner Variable. (bzw. musst du dir etwas überlegen falls es gleichwertige Einträge gibt und daraufhin mehrere markiert werden müssen)