Danke für alle Antworten. Ich habe mir schon gedacht, dass Brutto und Netto einen Unterschied machen, dass dieser aber so groß ist hätte ich nicht gedacht. Es wird mir wohl nichts anderes übrig bleiben als ein Kabel zu legen, oder für mehr Power im WLAN (neue Hardware) zu sorgen.
Danke.
Hallo.
Ich weiß nicht genau, ob ich mit der Frage hier so richtig bin, da ich aber sonst bei keinem Forum dieser Art angemeldet bin, stelle ich sie trotzdem:
Ich habe seit kurzen ein VDSL50-Anschluss. An einem PC liefert dieser auch die gewünschte Bandbreite von 35-50Mbit. Ich habe aber noch einen 2. Rechner, welcher über WLan angebunden ist. Da der Rechner etwas weiter entfernt steht, muss mit Hilfe eines Range-Extenders die Reichweite verlängert werden.
Durch den Extender habe ich volle Siganlstärke und eine Übertragungsrate von 72MBit/s (lt. Windows-Tooltip). Trotzdem erreiche ich nicht die Bandbreite von 35-50Mbit.
Mein Frage ist wieso? Mit dem WLAN-Netz sind theoretisch bis 300MBit möglich.
Der Extender kann 150MBit und ich weiß das er ca. die Hälfte der Bandbreite frisst. Aber wenn mir Windows 72MBit/s anzeigt, müsste das dann nicht reichen?
Danke im Voraus.
Friedel
Hallo UNeverNo,
wenn es mehr um eine Navigation geht, sollte man sich als Vorbild vielleicht mal Office Outlook anschauen. Im linken Bereich gibt es dort auch eine Navigation. Wenn man das mit mehr als 2 Ebenen braucht, tut es vielleicht auch ein Tree.
Gruß
Friedel
//Edit: Office Outlook natürlich...
Hallo Rainbird.
Ich habe AsGoodAsItGets schon probiert und was soll ich sagen, der Name ist Programm. Es gibt einfach keine "gute" Lösung für Remoting auf dem Compact Framework. Ist halt so. Aber mit AsGoodAsItGets ist es zumindest möglich.
Danke für die Antworten.
Gruß
Friedel
PS: Ich werde Zyan auf jeden Fall im Auge behalten.
Nachdem ich jetzt noch mal etwas Zeit hatte, mir das ganze anzusehen, scheint es ja gar nicht möglich zu sein, dass Zyan-Framework auf einem Windows CE-Gerät laufen zu lassen, da z.B. wichtige DLLs wie System.Runtime.Remoting fehlen. Habe wohl Microsoft .NET Framework 3.5 Client Profile und Compact Framework 3.5 (leider) durcheinander geworfen. Dann ist dieses Framework, so gut es auch für "normale" PCs funktioniert, für mich nicht zu gebrauchen; wie so viele andere Frameworks auch.
Langsam verliere ich gewaltig die Lust an Remoting und Compact Framework. Ich kann einfach nicht glauben, dass ich der einzige bin, der für oben beschriebenes Szenario eine Lösung braucht. Wieso wurde im CF so eine Funktionalität einfach entfernt? Klar, irgendwas muss raus, aber das komplette Remoting inkl. Serialisierung der Objekte? Wer bitte hat das entschieden?
Trotzdem tolles Framework von dir Rainbird. Danke, dass du meine Fragen so ausführlich beantwortet hast.
Wenn ich mich Irre und Zyan doch auf CE lauffähig wäre, wäre das ein Fehler von mir, über den ich mich sehr freuen würde 😉.
Gruß
Friedel
Hallo Rainbird.
Vielen Dank erst mal für deine Ausführliche Antwort.
Irgendwie habe ich mir das schon gedacht, dass mein
Ansatz irgendwie nicht so toll ist. In kein Framework passt
das Konzept.
Da du mir angeboten hast, mein Problem genauer zu schildern,
mache ich dies jetzt einfach mal: 😃
Ich habe eine Anwendung auf einem PC, welche per Remoting mit
einem Windows-Dienst arbeitet. Dieser Dienst wiederrum kann sich
mit beliebig vielen anderen PCs mit diesem laufendem Service
verbinden, oder sich direkt mit mehreren CE-Geräten. Es ergibt
sich so ein Baum mit beliebiger Tiefe. An jedem Endknoten des
Baumes ist ein CE-Gerät zu finden.
Die CE-Geräte zeichnen unentwegt Daten auf (Messdaten).
Ich hatte mir überlegt, eine Komponente (DeviceController) zu schreiben,
welche sowohl als Service als auch auf den CE-Geräten läuft. Mit Hilfe
von sognannten (DeviceController-)Services hätte man die
DeviceController entsprechend ihrer Aufgaben parametrieren können.
Eine der wichtigsten Aufgaben wäre das Sammeln der Daten der
angeschlossenen DeviceController gewesen (z.B. einmal am Tag
alle angefallenen Daten abholen), diese zu analysieren und
dann auf geeigneten Medien zu speichern. Auf Anfrage von wiederrum
darüber liegenden DeviceControllern rückt der entsprechende DeviceController
diese gesammelten und analysierten Daten raus.
(So ergibt sich zum Beispiel Kassel-Nord + Kassel-Süd = Kassel,
Kassel + Wolfhagen = Nordhessen, Nordhessen + Südhessen = Hessen, usw.)
Diese DeviceController-Komponente wollte ich nun per Remoting übermitteln.
Damit wäre es egal gewesen, wo ein DeviceController in der Hierarchie ist,
ich hätte diesen einfach anzeigen und parametrieren können, da ja
alle gleich sind und sich "nur" durch ihrer (aktiven) Services
unterscheiden.
Ich hoffe ich habe den Sachverhalt einigermaßen verständlich beschreiben.
Danke, dass du dir überhaupt die Zeit nimmst über mein Problem nachzudenken.
Gruß
Friedel
Hallo mabra,
kurz und knapp:
Gruß
Friedel
//Edit: Fehler korregiert
Hallo cloen2
Nach dem Aufruf backgroundWorker1.RunWorkerAsync(); gehts direkt weiter und deine PB wird wieder ausgeblendet. Versuch es mal mit RunWorkerCompleted.
Gruß
Friedel
Hallo.
Ich teste gerade etwas mit dem Zyan Framework von Rainbird rum und muss erstmal sagen, dass ich doch sehr begeistert bin. Endlich mal ein Framework in dieser Richtung, welches einem einiges abnimmt. Dafür schon mal Dank an Rainbird und Co.
Allerdings habe ich auch noch 2 Fragen:
Shared.IEchoServer proxy = connection.CreateProxy<Shared.IEchoServer>();
proxy.SubClass.Name = "4567";
string s = proxy.SubClass.Name; // = "1234"
Die Eigenschaft 'SubClass' gibt eine Referenz einer simplen Klasse zurück und diese hat eine Eigenschaft Name, welcher per Default auf "1234" gesetzt ist. Weise ich der Eigenschaft jetzt "4567" zu und rufe diese erneut ab, ist der Wert immer noch "1234". Geht das per se nicht, oder muss dafür etwas spezielles beachtet werden.
Danke
Gruß
Friedel
Hallo Xynratron.
Danke für die Antwort.
Der "Server" (WinCE-Gerät) soll als Anwendung laufen, die ständig etwas macht (parametrierbar). ServiceHost ist hier nicht gleich einem Windows Service. ServiceHost benötige ich, um einen "Server" auf einem PC zu initialisieren (WCF). Diese Klasse gibt es (zumindest für mich) unverständlicher Weise nicht im CF. Remoting, WCF und wie sie alle heißen kann man für WinCE Geräte komplett vergessen. Selbst Frameworks wie AsGoodAsItGets (der Name ist Programm) sind da nicht besser.
Gruß
Friedel
Hallo.
Ich habe viele WinCE Geräte mit .Net CF 3.5. Diese Geräte sammeln unentwegt Daten (Messdaten) und speichern diese auf dem vorhandenen Flashspeicher ab. Nach einem festgelegten Zeitraum kommt eine Anfrage eines Servers (Windows Dienst auf einem PC) und holt die Daten ab (via WCF). Soweit so gut. Jetzt soll es aber auch möglich sein, dass eines dieser CE-Geräte als "Server" funkieren soll, also die Daten von bekannten Geräten sammelt. Das funktioniert allerdings nicht, da es System.ServiceModel.ServiceHost im CF nicht gibt.
Fragen:
Ist es überhaupt möglich einen Server per WCF auf einem CE-Host laufen zu lassen?
Gibt es eine Alternative?
Ist ein solches Zenario so unwahrscheinlich, oder warum geht das nicht per WCF?
Danke im Vorraus.
Gruß
Friedel
Hallo Sumpfi,
vielleicht hilft die dieser Link. Hier wird beschrieben, wie man ermittelt, ob und wenn, welcher Text im aktiven Control (auch das einer anderen Anwendung) markiert ist. Dann kannst du dir den Weg übere die Zwischenablage sparen.
Ist allerdings in VB umgesetzt.
Gruß
Friedel
Hallo snoop83,
da es auf "einfachem Wege" anscheinend nicht geht, da du im I-Net nicht fündig geworden bist, gibt es evtl. eine Lösung mit PropertyDescriptions und ITypedList. Damit ist es möglich jedem beliebigem Typ Properties zu verpassen. Bspw. kann man einem Typ Auto die Eigenschaft Aussentemperatur verpassen, ohne dies im Objektmodel (weil falsch!) machen zu müssen. Man gaukelt es der Datenbindung (um nichts anderes handelt es sich bei diesem Problem mit dem PropertyGrid) einfach nur vor. Also anstatt dem PG ein Array als Datenquelle zu übergeben, nimmst du eine ITypedList (sh. MSDN).
Gruss
Friedel
muss man eh in ticks umrechnen ... aber ich habe nciht gedacht, das ich hier alles im deteil vorkauen muss.
extra für euch: "new TimeSpan(((long)(meinDoublewert * TimeSpan.TicksPerMillisecond)));"
edit: klammerung war falsch 😃
edit2: @Friedel: die vorgehensweise ist dennoch korrekt....
Brauchst du mir nicht vorkauen, kann ich selber. Wenn du aber eine Antwort postest, welche eine Überladung nutzt, die es nicht gibt, muss das korrigiert werden. PseudoCode OK, aber falschen Code, ich weiß nicht...
Gruss
Friedel
//edit: Fehler...
Hallo sharpType,
dafür gibt es die sogn. Settings-Klassen. Einfach per Add im Solution Explorer dem entsprechenden Projekt hinzufügen.
Gruss
Friedel
Hallo,
string.Format("XXX", new TimeSpan(meinDoublewert))
...
edit: und falsche vorgehensweise.
TimeSpan kann man im Konstruktor nur long übergeben, kein double.
Gruss
Friedel
Hallo carmani,
das was du da vorhast, kann man bspw. mit DataSet, DataTable und DataAdapter lösen. Auch ein TypedDataSet ist hier sicher möglich. Schau mal in der MSDN oder einfach bei Google danach.
Ansonsten ist deine Vorgehensweise natürlich auch möglich, aber wahrscheinlich nicht so einfach auf andere DBs (Firebird, CE, usw.) umzusetzen.
Gruss
Friedel
Hallo BenediktFu,
naja, deine neu erstellte DataTable hat keine Spalten (Columns) ber du versuchst eine Zeile (Row) hinzuzufügen, welche zwei Werte (einen für jede Spalte) beinhaltet.
Gruss
Friedel
Hallo frey,
habe im Internet auf die schnelle die Seite http://kardionoon.net/ gefunden. Scheint es auch "Herzdaten" zu geben.
Gruss
Friedel
Danke für den MSDN-Link.
Ich wundere mich nur, dass mir das noch nie aufgefallen ist 8o
Gruss
Friedel
Jein: Der Compiler ist in der Lage, Typparameter für generische Methoden zu erraten (sehr wichtig / komfortabel im Zusammenhang mit LINQ).
Wenn das also wichtig / komfortabel für LINQ ist, heißt das dann, dass in einer früheren Version (Framework/IDE) der Compiler nicht geraten und damit dann richtig gelegen hätte? 😁
Danke für die Erklärung.
Gruss
Friedel
Hallo,
ich habe eine Klasse (nicht statisch), welche zwei Methoden besitzt:
public static object Copy(ISerializable original, StreamingContext context) {
DeepISerializableObjectCopyer dc = new DeepISerializableObjectCopyer(context);
return dc.MakeCopy(original);
}
public static T Copy<T>(T original, StreamingContext context) where T : ISerializable {
return (T)Copy(original, context);
//return (T)Copy((ISerializable)original, context);
}
rufe ich jetzt die generische Methode T Copy<T>(...) auf, bekomme ich eine StackOverflowException, weil im Body immer wieder die generische aufgerufen wird. Kann mir jemand erklären, warum. Die Signatur der nicht generischen Methode unterscheidet sich doch von der der generischen, oder?
Nehme ich den auskommentierten Code rein (und natürlich die andere Zeile raus), funktioniert alles wie erwartet?!
Danke
Gruss
Friedel
Hallo LarsThorwald,
bei meinen Einstellungen ist das Strg+E+D.
Gruss
Friedel
Hallo Andreas@Tricept,
wir machen das hier mit Subversion. Meiner Meinung nach sehr einfach zu bedienen, und das Beste: Es ist auch noch umsonst (sh. Wikipedia)
Gruss
Friedel
Hallo KainPlan,
finde die Animation ziemlich gelungen, wenn ich auch nicht weiß für was ich das brauchen könnte.
Gruss
Friedel
Hallo epic_fail.
Du darfst Random nicht immer wieder neu erzeugen, sondern du musst eine Instanz halten.
Gruss
Friedel
Hallo Matrix-NTN,
trotz des laufenden Threads wird die Dispose-Methode des Controls aufgerufen. In dieser kannst du deinen laufenden Thread mitteilen, dass dieser abbrechen/sich beenden soll (z.B. mit einer boolschen Variablen).
Gruss
Friedel
Hallo Jens,
also für mein Verständnis ist das keine gute Idee. Eine Assembly ist eine in sich geschlossene Einheit, oder sollte eine sein. Was passiert bspw. wenn du eine von diesen Assemblies, welche auf die "Haupt-Assembly" zugreift, in einem anderen Projekt mit einer anderen "Haupt-Assembly" nutzen möchtest?
Also ich würde entweder in jede Assembly die app.config bearbeiten, oder du nutzt eine eigene Datei/eigene Dateien, welche du z.B. in C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\DeinProgramm\default.ini speicherst und in welcher "jeder" reinschreiben kann was er will (verwaltet von einer speziellen Klasse). Bin ich bisher immer sehr gut mit gefahren...
Gruss
Friedel
Hallo aime2code,
entweder die Eigenschaft Items so
[System.ComponentModel.DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public List<DiskViewItem> Items {
get { return items; }
set { items = value; }
}
markieren, oder die DiskViewItem-Klasse serialisierbar, also für den Designer "speicherbar" machen. Das ist allerdings nicht ganz so trivial, wenn das alles im Designer bearbeitbar gemacht werden soll.
Gruss
Friedel
Ok, danke. Werde vorsichthalber das Setup mal mit auf die CD packen lassen und mir was einfallen lassen, wie ich das evtl. "automatisch" anwerfe.
Gruss
Friedel
Hallo Bernd,
erstmal danke für die Antwort. Ein Kollege hat mich gefragt, ob es so ist, dass man das Setup mitliefern, bzw. bei Installation autom. ausführen muss. Wenn dem nicht so ist, bin ich zufrieden.
Was ich nicht so verstehe: Wieso kann es zu Versionskonflikten kommen? Die Dlls liegen doch im Ausführungsverzeichnis und dann ist doch klar, welche genutzt werden sollen, oder?
Gruss
Friedel
verwendetes Datenbanksystem: MS SQL CE 3.5
Hallo,
wir möchten für einen Teil unserer Datenspeicherung die MS SQL CE in der Version 3.5 nutzen. Nun stellt sich mir die Frage, wie es mit dem Verteilen der DB aussieht.
Ich habe die Seite gefunden: http://www.microsoft.com/sqlserver/2005/en/us/compact-redistribute.aspx bei welcher man sich registrieren muss. So weit, so gut. Nur wie sieht es mit dem Installer aus. Stimmt es, dass man die Dateien nicht mehr einfach mit ausliefern kann (in Anwendungsordner kopieren), also in einem eigenen Setup, sondern ein Setup des SQL CE Servers mitliefern muss?
War das nicht in den vorherigen Versionen anders? Da gab es diese Lizenzvereinbarungen in dieser Form noch nicht, oder?
Danke
Gruss
Friedel
Hallo codeGenerator,
man kann Events nicht nur abonnieren, sondern auch wieder entfernen
textEdit.TextChanged -= ...
Gruss
Friedel
Also bei mir erscheinen alle Sprachen und Untersprachen seperat; sh.Anhang
Aber dann sind ja alle Spracheinstellungen für dieses Form weg?!
??? Wieso das ?
Du darfst nur die löschen, welche die falsche Sprache beinhaltet, also zum bsp. Form1.de.resx, wenn du die deutsche Sprache nicht mehr haben möchtest. Die anderen evtl. vorhandenen, besonders jene ohne Sprachzugehörigkeit darfst du natürlich nicht löschen.
Gruss
Friedel
Hallo morphious,
unterhalb der Form/des Controls, welches du versehentlich in der falschen Sprache bearbeitet hast, gibt es ein .resx-Dokument mit dem Zusatz der Sprache. Diese Datei einfach löschen, und es wird keine dll für die Sprache mehr erzeugt.
Alle von dir gemachten Änderungen stehen in dieser resx-Datei...
Gruss
Friedel
Hallo,
ich habe nur eine Bitte:
Kann mir jemand der die neuste DirectX-SDK installiert hat geben?
Wäre nett, denn ich möchte nur eine Kleinigkeit ausprobieren und möchte jetzt nicht erst 5 Stunden warten, bis das SDK unten ist.
Danke
Gruss
Friedel
Hallo Froggie,
nein, so ein Event hat nur die BindingList<T>. An deiner Stelle würde ich nach allen Referenzen auf deine Liste suchen und durchgehen.
Gruss
Friedel
Hallo Zhok,
wenn die Daten aus einer Datenbank kommen, kannst du dir mal diesen Link anschauen.
Wenn nicht, kann man virtuelle Spalten im DataSet und/oder DataView anlegen ist aber entweder mit "umschaufeln" zu erledigen, oder nicht ganz trivial mit ITypedList.
Gruss
Friedel
schwompf
gehört das zu Die Generation LOL ?
Heisst ja auch System.Management.dll. Einfach über Referenzes->Add hinzufügen
Hallo Thomas Wüst,
obwohl ich deine Antworten auf Beiträge, welche dir helfen wollen ziemlich daneben finde, möchte ich trotzdem mal eine Antwort posten (auch für andere)
using System.Management;
//...
private void eventAnmelden {
ManagementEventWatcher w = null;
WqlEventQuery q = new WqlEventQuery();
q.EventClassName = "Win32_ProcessStartTrace";
w = new ManagementEventWatcher(q);
w.EventArrived += new EventArrivedEventHandler(w_EventArrived);
w.Start();
}
void w_EventArrived(object sender, EventArrivedEventArgs e) {
foreach (PropertyData pd in e.NewEvent.Properties) {
if (pd.Name.CompareTo("ProcessName") == 0) {
System.Windows.Forms.MessageBox.Show(
String.Format("'{0}' wurde gestartet", pd.Value)
);
}
}
Nix für ungut.
Gruss
Friedel
Raab, Stefan Raab...
Wer sonst kommt auf sowas
Gruss
Friedel
Hallo,
im Finale sind wir nun also, wenn auch mit echtem Dusel.
Neben unser "Nati" hat aber vor allem Angi Merkel gewonnen. Dieses schüchterne Jubeln nach dem 1:1 war wohl mit das Beste am ganzen Spiel 🙂
Gruss
Friedel
Hallo,
Von norman_timo:
Das wär einfach nur der Knaller, so wie letztes Jahr Griechenland, so soll es dieses Jahr für die Russen gelten 😉
Also das sehe ich ja mal ganz anders. Einmal ist sowas ganz toll, aber wenn wir mal ehrlich sind, ein verdienter Europameister sieht anders aus. Es ist zwar nicht so, dass ich finde es sollten immer nur die "Großen" gewinnen, aber über mehrere Jahre (WM, Qualifikationen, usw.) haben es diese Mannschaften meist mehr verdient als die sogn. Underdogs.
Gruss
Friedel
@herbivore
Hallo ?
Ich wollte nicht so unhöfflich sein JAck30lena nicht zu antworten.
Und um JAck30lena klar zu machen, dass mir seine Antwort nicht hilft, habe ich halt nochmal mein Problem geschildert/gepostet.
Also keinen Grund für einen Rüffel... hab schon gerafft, das dass nicht geht.
Gruss
Friedel
//edit: Fehler
Danke JAck30lena, aber ich brauche es so:
public interface targetinterface
{
void foo();
}
public class baseclass : targetinterface
{
void targetinterface.foo()
{
throw new Exception("The method or operation is not implemented.");
}
}
public class myClass : baseclass, targetinterface
{
public void foo()
{
targetinterface t = this as baseclass;
t.foo();
}
}
Danke herbivore,
nützt mir zwar nicht allzuviel, aber bin (etwas) schlauer als vorher...
Gruss
Friedel