Laden...

Forenbeiträge von ujr Ingesamt 1.688 Beiträge

13.10.2011 - 12:58 Uhr

Kann man das überhaubt ändern und wenn ja wie?

Es hat sicher einen Grund, dass die Eigenschaft schreibgeschützt ist. Und höchstwahrscheinlich würde eine Änderung nicht den gewünschten Effekt haben.

13.10.2011 - 12:49 Uhr

Fehlermeldung:
Runtime Error 217

Was ist das denn? Das klingt eher nach Delphi o. ä.

Tritt eine Exception auf? In welcher Zeile?

12.10.2011 - 16:11 Uhr

Das Programm, dass die Software steuert muss natürlich konfiguriert werden können. So das man es auf COM4 einstellt. Wenn das nicht geht, kommst du an einer Hardware-Lösung nicht vorbei.

Im Gerätemanager kann man COM1 auf einen anderen COM-Port legen ("Erweitert"). Bei entsprechender Konfiguration von com0com geht das durchaus.

12.10.2011 - 14:16 Uhr

Das Problem ist gar nicht das speichern sondern das laden des Template rtf's

Das hätte Dir der Debugger sicher gleich sagen können. Daran sieht man, wie wichtig der Ort der Exception ist. Das hätte einige Raterei erspart. Zumal das Speichern bei Dir ja sowieso auf dem Desktop erfolgt, wenn ein Fehler auftritt.

GEHT NICHT:

  
Report report = new Report(AppDomain.CurrentDomain.BaseDirectory + "\\myReportTemplate.rtf");  

Wie wird denn das "Template" geladen? Vermutlich mit Schreib/Leserechten.

12.10.2011 - 12:41 Uhr

Einer ist dann für die "normale" Anwendung, der andere für deinen Lauscher.

Was wiederum heißt, dass der Lauscher auch alles Erlauschte weiter geben muss.

11.10.2011 - 16:36 Uhr

Ich bin davon ausgegangen, dass erkannt wird, um welche Daten es sich handelt - die Parameter sind hier relativ gut benannt 😉

Was ich meinte, ist, dass (so vermute ich zumindest) l_Files tatsächlich alle Dateien aus allen Unterverzeichnissen enthält und dass deshalb l_Folders in absteigender Länge des Namens gelöscht wird. Das habe ich mir nachträglich zusammen gereimt. 😉

Auf diese beiden Listen wird nun via Parallel.ForEach() zugegriffen, sodass ich den Flaschenhals "SMB" minimieren kann - bzw. die Ressourcen besser nutzen kann.

An die Netzwerkzugriffe hatte ich so nicht gedacht. Nichtsdestotrotz könnte man es ja mal probieren, die Zugriffe sequentiell durchzuführen.

Generell vermute ich, dass mir der Kernel, der Server oder der IIS in die Suppe spuckt. Letzteres konnte ich ausschließen, da auch ein Test-Programm mir den identischen Fehler warf.

Tritt es denn im Test-Programm auch bei lokalem Löschen auf?

11.10.2011 - 15:58 Uhr

Eine Rekursion findet hier nicht statt. Ein Stack würde hier nichts ändern.
l_folders ist eine Liste von allen Ordner - ohne rekursive Aufrufe.

Du schreibst von "Dateistrukturen", sodass Rekursivität nahe liegt. Dann wäre es eindeutiger gewesen, etwas über die Datenstrukturen zu schreiben.

Tritt die Exception auch dann auf, wenn Du nur die Dateien löschst? Oder diese nicht parallel löschen lässt? Ob das nützlich ist, ist beim HD-Zugriff ohnehin fraglich.

11.10.2011 - 15:32 Uhr

Hallo,

für mich sieht's so aus, als wäre


public static bool DirectoryDelete( string path )
{
    string formattedName;
...
    if ( DirectoryDelete( formattedName ) )
    {
        return true;
    }
...

eine Endlosrekursion. FileDelete hingegen ruft DeleteFile auf, über das sich nichts sagen lässt.

10.10.2011 - 11:02 Uhr

Hallo,

"Verwirft diese System.Net.Sockets.TcpClient Instanz, ohne die zugrunde liegende Verbindung zu schließen."

Einerseits war das schon mit .Net 3.5 überholt. Dort heißt es

Die Close-Methode kennzeichnet die Instanz als verworfen und schließt die TCP-Verbindung...

Die Framework 4-Doku ist noch etwas ausführlicher.

Benutzt Du wirklich .Net 2.0? Da wird dann andererseits der zitierte Satz so fortgesetzt:

...
Sie müssen die Close-Methode aufrufen, um den Stream und die TCP-Verbindung zu schließen.

Die Rede ist da vom Close des NetworkStreams - ein "Querzugriff" auf den Socket scheint nicht notwendig.

Warum "socketReuse" aber beim Auflegen der Verbindung blockiert, kann ich jetzt auch nicht sagen. Es scheint ja irgendwie mit Deinem Demo-Server zusammenzuhängen, da es mit dem "Hardware-Server" klappt.

10.10.2011 - 10:04 Uhr

Hallo,

TcpClient.Close sollte doch reichen, oder?

Schau Dir auch die Dokumentation zu Socket.Disconnect an. Da gibt's ein paar Hinweise zu möglichen Ursachen.

29.09.2011 - 17:04 Uhr

Hallo,

zu beachten ist jedoch, dass bei Everything (alternativ UltraSearch) für den Zugriff auf die MFT Administratorrechte notwendig sind. Das ist i. allg. nicht "portabel".

Weitere Möglichkeiten sind z. B. Total Commander, Speed Commander oder grepWin - letzteres auch OpenSource.

29.09.2011 - 12:52 Uhr

Bitte benutze die
>
und poste die besten Treffer hier.

Hat das überhaupt schonmal jemand gemacht?

29.09.2011 - 11:37 Uhr

Hallo,

mit der geposteten Schrittfolge konnte ich das Problem nachvollziehen.

Es tritt im übrigen auch dann auf, wenn nur der Client ohne den bzw. vor dem Server gestartet wird. Der Grund ist in allen Fällen gleich: es wird etwas verschickt an eine nicht erreichbare Adresse. Es kommt also das erwähnte ICMP - Destination unreachable, das den Socket aus dem blockierenden Receive holt (Available ist komischerweise 1) und die Exception auslöst.

In meinen Versuchen konnte ich allerdings die Exception fangen und ReceiveFrom erneut aufrufen und dann weiter über den Socket kommunizieren.

Alternativ kann man natürlich auch für das Empfangen einfach einen zweiten Socket öffnen, der diese Probleme überhaupt nicht mehr hat.

An sich sollte das Verhalten nicht auf Loopback-Adressen beschränkt sein. Evtl. gibt ein Switch oder Router nur die ICMP-Pakete nicht weiter, weshalb der Fehler da nicht auftritt.

27.09.2011 - 17:20 Uhr

Wie binde ich eine normale dotNet Lib in Silverlight ein?

Gar nicht, da Silverlight nur einen Teil des "normalen" .Net zur Verfügung stellt. Es geht, ich glaube ab 4.0 (.Net/SL), aber umgekehrt. Am einfachsten ist's jedoch, den Quelltext zu teilen.

27.09.2011 - 09:45 Uhr

Hallo,

dass man möchte, dass die eingestellte Zeit auf die Sekunde genau ist, kann ich schon verstehen und halte das für keine übertriebene Forderung

Verstehen kann ich das auch 😁

Die Frage ist allerdings, ob's notwendig ist und welchen Aufwand man dafür treiben möchte.

Ich habe keine verlässlichen Aussagen zur Ganggenauigkeit (beliebiger) PC-Uhren gefunden, aber die allein lässt i. allg. schon zu wünschen übrig (schreibt ja herbivore auch). Unter Linux kann dann der NTP-Dienst eine Driftkorrektur vornehmen, ohne eine neue Abfrage zu starten. Dazu kenne ich allerdings keine Windows-Alternative.

Man kann natürlich w32time so konfigurieren, dass er sehr oft versucht, sich neu zu synchronisieren.

Eine genauere Variante sollte die Verwendung einer Funkuhr (DCF77) bieten. Das kann allerdings daran scheitern, dass in bestimmten Gebäuden kein Empfang ist.

27.09.2011 - 08:46 Uhr

1 bis 2 Sekunden 8o

Welche Genauigkeit benötigst Du denn und warum?

26.09.2011 - 23:27 Uhr
  
            catch (Exception ex)  
            {  
                if (ex.Message == "Normalerweise darf jede Socketadresse (Protokoll, Netzwerkadresse oder Anschluss) nur jeweils einmal verwendet werden")  
...  
            catch (Exception ex)  
            {  
                throw ex;  
            }  
  

Du solltest dringend über Exceptions nachlesen. Besonders der Textvergleich ist unsinnig - was passiert, wenn Microsoft die Fehlermeldung anpasst? oder bei einer komplett anderen Sprache? Dafür gibt es spezialisierte Exceptions mit besonderen Parametern.

26.09.2011 - 17:40 Uhr

Hallo,

Der Name xyzClient sollte eigentlich doch schon alles sagen.

Ein UdpClient kann allerdings tatsächlich als Server fungieren.

Zum Problem an sich. Leider fehlt eine nachvollziehbare Beschreibung, welcher Code zu dem Problem führt (am besten minimal lauffähig) und wie das Problem dann reproduziert werden kann.
Client und Server auf einem Rechner stellen (i. allg.) eigentlich kein Problem dar - es muss also am Code oder an der Umgebung liegen.

26.09.2011 - 16:42 Uhr

Hallo,

Manchmal hilft ein reconnect

was ist ein "reconnect"? UDP ist verbindungslos.

Versuch's mal ohne den .Connect-Aufruf.

26.09.2011 - 10:22 Uhr

Hallo,

nach z.B. 500 Elementen

ist Dir dazu genaueres bekannt? Evtl. auch über das Wechselverhältnis zwischen Gesamtzahl und Schachteltiefe?

Vorkommen kann so etwas z. B. bei "aufwändigen" UserControls, die erst ineinander verschachtelt und dann noch dynamisch in großer Anzahl erzeugt werden. Dann kann's bei einem Update auch leicht passieren, dass nicht richtig aufgeräumt wird (Dispose vergessen).

26.09.2011 - 10:02 Uhr

Hallo,

Du hast die Forenregeln gelesen?

Crossposts sind hier unerwünscht (s. [Hinweis] Wie poste ich richtig? 2.2)

Zudem kann ich dort im Thread die Aussage "wenigstens einer der wirklich lesen kann und nicht versucht blöde kommentare zu geben, nur damit sein postranking steigt" überhaupt nicht nachvollziehen. Es ist schwer vorstellbar, dass da noch jemand Lust hat zu antworten.

Und nein - ich habe es nicht nötig, "blöde Kommentare" abzugeben.

25.09.2011 - 23:23 Uhr

Hallo,

was ist das genau für eine Mediaplayer-Klasse? Hat diese kein Invoke?

Ansonsten macht das Design einen seltsamen Eindruck, wenn eine "eigene" Klasse, die nichts mit der GUI zu tun hat, etwas starten soll, das etwas anzeigt. Hast Du etwas Quelltext?

23.09.2011 - 08:42 Uhr

Hallo,

s. auch Ausführung ohne Dispatcher-Instanz an den GUI-Thread delegieren ff bzgl. "Konvention" - entscheidend ist eben, dass der "oberste" Aufrufer mit dem "sender" aus den unteren Klassen i. allg. nichts anfangen kann/darf und diesen auch gar nicht kennen sollte (Implementierungsdetails können sich ändern).

22.09.2011 - 17:02 Uhr

Hallo,

fehlt da noch ein .Where?

22.09.2011 - 16:21 Uhr

Hallo,

das geht mit Linq sehr einfach:


Console.WriteLine((from d in dblArr where !Double.IsInfinity(d) select d).Average());

21.09.2011 - 21:15 Uhr

Als Erklärung: Es ist nicht wirklich oberhead den ich erzeuge, sondern einfach pro Zeile
ein ListViewItem mit 3 SubItems, die in der ListView gehalten werden.

Vielleicht hilft Dir außer einer Lösung zum Daten lesen auch der VirtualMode

Edit: Tippfehler behoben

19.09.2011 - 13:31 Uhr

Wie machen die das?

Vielleicht hiermit: MapViewOfFile
MapViewOfFile function

Edit: .Net4 hat da auch was
Working with memory mapped files in .NET 4

19.09.2011 - 10:07 Uhr

Nur leider finde ich diese nicht mehr auf Codeproject

D.h. also, bei CodeProject Search: socks proxy ist's nicht dabei?

16.09.2011 - 15:47 Uhr

Hallo,

ähem - hast Du schon bei Google nach "c# in memory database" gesucht?

16.09.2011 - 10:59 Uhr

Abgesehen von anderen, besser funktionierenden, Lösungen stellt sich natürlich immer noch die Frage, warum switch/case nicht funktionieren sollte.
Leider ist Lumbra bisher die Antwort auf die Frage nach dem Inhalt von Extension im default-Zweig schuldig geblieben. Außerdem könnte durch Logging festgestellt werden, ob es einfach nur ein scheinbares Fehlverhalten z. B. aufgrund von Optimierungen war.

16.09.2011 - 10:10 Uhr

Hallo,

sind alle Treiber aktuell?
sind tatsächlich alle Plugins deaktiviert (auch Productivity Power Tools usw.)?
hast Du schon "devenv /ResetSettings" probiert?
läuft VS als "einziges" Programm? Oder zusätzlich noch Browser, Office, ...?

16.09.2011 - 09:58 Uhr

Hallo,

vielen Dank für das nützliche Programm!

Bei Oracle-Datenbanken wird nun nach verfügbaren Datenbanken gesucht und die namen zur Auswahl angezeigt, ähnlich wie bei MS SQL-Datenbanken

Hmm, das wollte ich für MSSQL vorschlagen. Bei mir geht das nämlich nicht. Wie kann ich die Funktion aktivieren? Es gibt zwar eine ComboBox mit Vorschlägen für den Server selbst, bei der Datenbank habe ich jedoch nur eine Textbox. Eine Liste vorhandener Datenbanken wäre sehr hilfreich, allein schon für "AdventureWorks", aber auch für eigene.

Bist Du schon mal dazu gekommen, nach Unterstützung für SQL Server CE (compact) zu schauen?

Edit: Noch eine "Kleinigkeit" - möchte ich z. B. eine neue Quelle für MSSQL hinzufügen, friert beim ersten Versuch nach dem Start der Anwendung für ein paar Sekunden komplett der Mauszeiger ein. Seltsam.

16.09.2011 - 09:45 Uhr

Was ist da Schwammig dran??

Es gibt tatsächlich viele "Wenn und Aber". Allein "eine Datei auf dem Desktop oder in irgend einem Fenster anklicke der ihr Pfad bekomme wo sie auf dem Rechner gespeichert ist" - wenn Du etwas auf dem Desktop anklickst, ist es auf dem Desktop gespeichert (wo sonst?). Wenn Du etwas "in irgendeinem Fenster" anklickst, hängt es von diesem Fenster ab, was es überhaupt ist und wo es ggf. gespeichert ist.

Was der sin hinter dem ganzen ist darf ich nicht weiter erläutern Betriebsgeheimnis.

Ja, das ist jetzt schade. Wär schon interessant, wofür man so etwas braucht. Vielleicht zur Benutzerüberwachung? Oder gar für einen Trojaner?

wenn ich eine Datei ankicke der soll ja angeblich in der Shell32.dll dann stehen.

Woher hast Du denn diese Information?

15.09.2011 - 12:07 Uhr

oder übersehe ich einen wesentlichen Punkt an dem Managment System?

Ja, so ziemlich alles. Wie könnt ihr z. B. Änderungen verfolgen und dokumentieren? Wie stellt ihr eine alte Version her? Wie "mergt" ihr gleichzeitige Änderungen mehrerer Entwickler?

Prinzipiell auf "Projektmappen" verzichten zu wollen, finde ich schon irgendwie "abenteuerlich". Die dienen ja u.a. auch dazu, Abhängigkeiten einzelner Projekte zu handhaben. Kein Versionsmanagement zu benutzen ist allerdings noch schlimmer.

12.09.2011 - 18:02 Uhr

Bei erneutem Aufruf und hinzufügen des gleichen EntityObjects
...
Wie kann ich das verhindern?

Eigentlich sagt das doch Deine Frage selbst - Du darfst eben nicht immer das gleiche Objekt (als die selbe Referenz) hinzufügen. Du musst also immer ein neues erzeugen oder ein anderes ermitteln (aus der DB).

11.09.2011 - 13:22 Uhr

Das ist Exponentenschreibweise, ich würde aber gerne ohne Exponenten arbeiten also: 948674265521152...

Wozu willst Du 212 Stellen anzeigen? Und was nützt es Dir, wenn ab der ca. 20. lauter Nullen angezeigt werden?

Oder suchst Du etwas wie "BigInteger"?

10.09.2011 - 22:51 Uhr

Edit: auch beim Umstellen auf den Timer mußt du meine obige Methode benutzen...

Das kommt auf den Timer an. Ein System.Threading.Timer z. B. kann sich auch selbst "überholen", wenn eine Ausführung zu lang dauert.

An sich ist es auch bei Timern natürlich eine Frage der Genauigkeit der Timer. Man kann ja mal per StopWatch das Intervall überprüfen. Nicht zuletzt kann das abhängig vom Rechner sein.

Am besten fährt man wahrscheinlich mit dem Multimediatimer, für den es aber keine .Net-Entsprechung gibt, jedoch einen Wrapper auf Codeproject. Ansonsten wäre auch eine gute Alternative, per StopWatch oder DateTime.Now.Ticks die tatsächlich vergangene Zeit zu ermitteln und korrekt in die Rechnung einzubeziehen. Damit wären es also bspw. nicht 13.8m, sondern 13.7 oder 13.9 (was sicherlich der Darstellung keinen Abbruch tut, aber die Genauigkeit verbessert).

09.09.2011 - 10:29 Uhr

Ist BeginInvoke nur z. B. für einen Aufruf aus einem WPF-Fenster oder WPF-Objekt heraus gedacht?

  1. Welches "BeginInvoke" überhaupt?
  2. Doku lesen ( :rtfm:, [FAQ] Warum blockiert mein GUI? und [FAQ] Controls von Thread aktualisieren lassen (Control.Invoke/Dispatcher.Invoke))
09.09.2011 - 09:03 Uhr


>

Wie kommst Du darauf? Es erstaunt mich da schon eher, dass Du dafür eine "XAMLParseException" erhältst.
Und was meinst Du mit "Parameter" bzw. "Parameterübergabe"? Du rufst doch nur eine URL auf.

08.09.2011 - 16:45 Uhr

Hallo,

Allerdings sind die zu Steuernden NW - Adapter ja nicht auf dem System auf dem die Webapplikation läuft. Dass heißt also müsste zuerst über netsh mich auf den anderen System anmelden.

ist es denn nicht überhaupt besser, auf den zu steuernden Systemen einen speziellen kleinen Server laufen zu lassen, der alle Deine Anforderungen erfüllt und den Du komplett selbst in der Hand hast?

08.09.2011 - 16:10 Uhr

Hallo,

vielleicht ist es einfacher mit netsh zu arbeiten, insbesondere "netsh interface" show bzw. set.

08.09.2011 - 11:11 Uhr

Hallo,

CommandParameter, ist aber nicht Bindable.

Doch. Oder meinst Du was anderes als CommandParameter="{Binding ...}"?

08.09.2011 - 11:05 Uhr

Dazu muss ich doch nur abfragen ob der typ des Items meinem ViewModel entspricht und dann die passenden Trigger setzten oder ?

Oder den "ResourceKeyString" - oder was anderes "benutzerdefiniertes".

Der Selector kann den Style auch über die Resource zurückgeben, sodass weiteres Anpassen auch über XAML/Blend möglich ist.

08.09.2011 - 10:58 Uhr

Wenn ich nun meine .xaml Seite aufrufen möchte

Wie erfolgt der "Aufruf" der "XAML"-Seite? Benutzt Du XamlReader?

08.09.2011 - 10:27 Uhr

Hallo,

kannst Du mal beschreiben, wozu Du das brauchst?

Status: aktiv, wenn Rechner erreichbar, sonst unbekannt
Aktivieren: unnötig, wenn aktiv; unmöglich, wenn nicht aktiv
Deaktivieren: genau 1x möglich, wenn erreichbar

08.09.2011 - 10:19 Uhr

Oder macht man das anders ?

Z. B. so:
StyleSelector-Klasse

06.09.2011 - 23:53 Uhr

Nur wenn ich nach der Ausführung eines Batch-Befehls in das process.StartInfo.Environment Dictionary gucke, dann sind darin die mit SET gesetzten Umgebungsvariablen aus der Batch nicht übernommen worden.

Neue Umgebungsvariablen werden nur im aktuellen bzw. in Kindprozessen gesetzt. Früher (DOS, 16bit) konnte man zwar auch den Elternprozess modifzieren, aber das geht nicht mehr. Lösung könnte sein, in der Batchdatei mit "set" alle Variablen anzeigen zu lassen, diese zu analysieren und selbst zu setzen, nach dem Ende der Batchdatei. Oder (ohne es probiert zu haben) man könnte am Ende der Batchdatei den aufrufenden Prozess erneut starten, wobei er dann die geänderten/neuen Einstellungen hätte. Den Zustand des kommuniziert man mit den Variablen selbst oder über Kommandozeilenparameter.

06.09.2011 - 14:16 Uhr

Die Zeilen können nicht übereinstimmen wenn ein Release-Build gedebuggt wird und die *.pdb nicht korrekt geladen wird

Eine etwas "merkwürdige" bzw. "ungewöhnliche" Abfolge im Debugger könnte beim Debuggen eines Release-Builds auch durch die Optimierungen entstehen.
Auch aus diesem Grunde wurde schon ein paar Mal auf das Logging verwiesen.

06.09.2011 - 11:12 Uhr

Kommt aber das Event was AUCH über die Controller Klasse genau mit der selben Methode

Das sagt aber nichts über den Thread aus, in dem der Aufruf erfolgt. Es kommt eben darauf an, wer wie das Event auslöst und nicht wo der Quelltext steht. Auch "aus der Hauptform" ist damit keine Garantie, dass es nicht zu einer solchen Exception kommt.