Laden...

Forenbeiträge von reloop Ingesamt 139 Beiträge

08.03.2015 - 13:43 Uhr

Hallo liebe Community,

ich weiß nicht, ob meine Themenbezeichnung treffen ist, jedoch kommt sie meiner Beschreibung des möglichen Szenarios am nächsten.

Es geht um folgendes:

Für ein Spiel das ich aus Hobbyzwecken programmiere, benötige ich eine Funktion, die mir anhand einer beliebigen Anzahl Wörter folgendes Muster ausgibt:

Bsp:

meineFunktion(['Apfel', 'Birne']);

Ausgabe:

Apfel - 0 Birne - 0
Apfel - 0 Birne - 1
Apfel - 0 Birne - 2
Apfel - 1 Birne - 1
Apfel - 1 Birne - 2
Apfel - 2 Birne - 2

Bei 3 Wörtern wäre die Ausgabe wie folgt:

meineFunktion(['Apfel','Birne','Tomate']);

Apfel - 0 Birne - 0 Tomate - 0
Apfel - 0 Birne - 0 Tomate - 1
Apfel - 0 Birne - 0 Tomate - 2
Apfel - 0 Birne - 1 Tomate - 1
Apfel - 0 Birne - 1 Tomate - 2
Apfel - 0 Birne - 2 Tomate - 2
Apfel - 1 Birne - 1 Tomate - 1
Apfel - 1 Birne - 1 Tomate - 2
Apfel - 1 Birne - 2 Tomate - 2
Apfel - 2 Birne - 2 Tomate - 2

Leider stehe ich total auf dem Schlauch und sehe den Wald vor lauter Bäumen nicht mehr... Danke für eure Hilfe!

Liebe Grüße,
reloop

19.03.2014 - 15:25 Uhr

Diese Info hat mir extrem weitergeholfen. Vielen Dank für eure Mühe.

Mein Problem ist damit behoben!

19.03.2014 - 14:20 Uhr

Hallo liebe Commuity,

ich habe folgendes Problem:

Wenn ich mein Projekt kompiliere (oder z.B. im Debug-Mode über 'Starten') ausführe, dauert der Vorgang ungewöhnlich lange. (Es handelt sich um eine WPF-Anwendung).

Nun würde ich gerne in Erfahrung bringen, ob es möglich ist, einen Einblick zu erhalten in den Compile-Vorgang, um festzustellen, was da soviel Zeit in Anspruch nimmt.

Beste Grüße,
Reloop

24.02.2014 - 13:22 Uhr

Hallo liebe Community,

ich stehe vor der Aufgabe, die Daten einer bestehenden Lösung, auszulesen bzw. zu exportieren.

Es handelt sich hierbei um eine Lösung, die mit "AcuCobol" entworfen wurde, und ihre Daten in "*.dat" - Files speichert.

Nun suche ich einen Ansatz, diese Dateien sauber auszulesen und habe gehofft, hier auf jeden zu treffen, der ggf. schon Erfahrung in diesem Bereich sammeln konnte.

Letztendlich ist das Ziel, die Daten erstmal mittels C# sauber auszulesen.

Aller beste Grüße und vielen Dank,
reloop

21.01.2014 - 16:44 Uhr

Hallo MrSparkle,

das ist mir aufgefallen. Es ging darum, dass ein Bild als Endprodukt generiert werden muss - und die Anzeige des GoogleMapControls nicht gewünscht gewesen wäre.

Ich danke dir für die Mühe, die du dir bei dem Suchen der vorhandenen Threads gemacht hast. Werde diese jetzt durchforsten!

Vielen Dank für die Unterstützung,
reloop

21.01.2014 - 16:28 Uhr

Hallo MrSparkle,

vielen Dank für die Rückmeldung.

Es ist leider vom Kunden nicht gewünscht, auf einen Fremdanbieter zu gehen - und es besteht der Wunsch es mittels "Bild" zu realisieren.

Vielen Dank für deine Mühe

Hallo winSharp93,

der Ansatz sieht schon sehr vielversprechend aus. Ich werde mir das einmal genauer ansehen! Ich danke dir vielmals.

reloop

21.01.2014 - 16:03 Uhr

Hallo liebe Community,

ich habe eine Frage bzgl. der Realisierung eines Projektes.

Von meinem Kunden erhalte ich eine Auflistung von ca. 1500 Orten (PLZ), an denen sich wiederum für Ihn Notwendige Objekte befinden. Nun habe ich die Aufgabe, jeden Tag ein neues Image von der Deutschlandkarte zu erzeugen, in dem diese Standpunkte markiert sind. (Anzahl wächst täglich)

Als Ausgangslage steht mir eine von Ihm zur Verfügung gestellte SVG Datei (Deutschlandkarte) zur Verfügung. (Das ganze darf auch gerne als Web-Application zur Verfügung gestellt werden.)

Da ich nicht bei jedem Reload der Seite die Objekte erneut auf der Karte eintragen möchte, stellen sich mir 2 Fragen:

  1. Ist es sinnvoll, die Karte einmal pro Tag zu generieren und als (z.B. JPG) abzulegen?

  2. Was ist der beste Ansatz um einen Standort auf der Karte ausfindig zu machen? Bedeutet, ich kenne nur die PLZ (Kann mir ggf. noch Längen und Breitengrad aus der OpenGeoDb auslesen) und muss jetzt eine farbliche Markierung auf der Karte vornehmen.

Freue mich auf Rückmeldung,
Reloop

18.02.2013 - 14:48 Uhr

Schau mal unter
>
unter Kapitel 6.5.2. Habe es aber nicht ausprobiert.

Das hat schon vollkommen ausgereicht. Es öffnet sich ein Fenster zur Rückfrage, ob eine neue Suchmaschine hinterlegt werden soll und man kann mittels Checkfeld direkt bestätigen, dass es zum Standard deklariert wird.

Vielen Dank für eure Hilfe,
reloop

18.02.2013 - 13:27 Uhr

Hallo liebe Community,

ich habe die Bitte vom Kunden erhalten, ihm folgendes Feature für seine Webseite zu erstellen:

Bei dem Besuch auf Suchmaschine von Kunden "a" soll geprüft werden, ob der Client derzeit diese als Standard hinterlegt hat. Ist dort jedoch z.B. Google odr Bing hinterlegt, soll eine Rückfrage kommen ob nicht "Suchmaschine von Kunde a" als Standard eingetragen werden soll.

Er kennt dieses Verhalten wohl von IE9(Standardsuche Bing) und einem Besuch auf Google. Ich kann dies jedoch nicht reproduzieren.

Die Recherche im Netz haben mich auch nicht weiter gebracht als folgende Einträge:

http://stackoverflow.com/questions/2034377/detect-browsers-default-search-engine-in-javascript

https://groups.google.com/a/chromium.org/forum/?fromgroups=#!topic/chromium-dev/1qN-FnqlDng

Ich muss nur ganz ehrlich gestehen, das keines von beiden mir bisher weitergeholfen hat.

Habt ihr Erfahrungen hiermit? Wie kann ich diesen Wunsch abdecken?

Beste Grüße,
reloop

12.02.2013 - 20:21 Uhr

Liebe Community,

Es geht um die Verschlüsselung von Daten innerhalb der Datenbank/Tabelle. Da in der Themenbeschreibung von "Rund um die Programmierung" Verschlüsselung mit aufgeführt wurde, habe ich mich gegen "Datenbanktechnologien" entschieden.

Nun zu meiner Frage:

Ich möchte in absehbarer Zeit eine Web-Anwendung veröffentlichen. Hier geht es um die Archivierung von kundenbezogenen Daten. Da ich die Anwendung als entsprechend Sicher bewerben möchte, wollte ich mir hier einen Rat einholen wie weit ihr die Verschlüsselung treibt. Reicht es die reinen Kundendaten (Name, Anschrift, etc.) zu verschlüsseln, damit auf referenzierte Daten nicht zurückgeschlossen werden kann? Oder soll ich soweit gehen, auch die gesamten Texte/Nachrichten in der DB zu verschlüsseln? (Gespeichert werden die Kundenanschriften, Nachrichtenverläufe, Dateien, austausch unter Kunde A und B, etc.)

Und wie verhält sich das ganze zur Laufzeit bei "Volltext" - Recherchen?

Ist meine Annahme richtig, dass ich quasi beim Einlesen u. Wegschreiben die Daten mittels einer eigenen Routine verschlüssle und in die Datenbank schreibe?

Ich freue mich über euer Feedback und bedanke mich schonmal vielmals bei allen, die sich die Zeit genommen haben.

Beste Grüße,
reloop

12.01.2013 - 18:20 Uhr

Danke Abt, die Tipps haben mir bisher unglaublich weitergeholfen. Ich habe mich jetzt mit MongoDB auseinander gesetzt, als auch mit der Planung der Server. Werde es jetzt wie von dir vorgeschlagen trennen, die Webanwendung auf dem einen und den Content auf einem separaten Server.

Noch eine frage bzgl. MongoDB: Weshalb genau ist es deines Erachtens nach geeignet? Weil es möglich ist in einem Datensatz quasi eine Collection bzw ein Array zu speichern? Und man somit an Perfomance gewinnt, da auf überflüssige Joins verzichtet werden kann?

Desweiteren wollte ich dich noch fragen, was genau es mit Session-Sharing auf sich hat. Geht es hier um Serverübergreifende Sessiosn? Für welches Szenario sollte das angewandt werden, wenn die Anwendung als solche sich nur auf einem Server befindet?

Und meine letzte Frage: Verwalte ich den Rest meiner Anwendung dann auch über MongoDB oder lohnt sich ein paralleler Einsatz von MySQL und Mongo?

Vielen, vielen Dank für deine Hilfe.

Beste Grüße

11.01.2013 - 17:51 Uhr

Hallo und ein frohes neues Jahr, liebe Community.

Und zwar habe ich folgende Frage:

Ich plane Mitte 2013 eine Webanwendung zu veröffentlichen. Diese ist öffentlich für jedermann zugänglich. Nun zu meinem Problem:

Angenommen die Seite läuft und findet Beispielsweise einen Zuwachs von 2000 Usern. Jeder dieser Benutzer hat die Möglichkeit, in seinem Account Dateien zu verwalten.

Welches ist die sinnvollste Lösung, die Dateien zu verwalten? Da der Server ja sicherlich auch mal an seine Grenzen stößt. Ich hoffe ihr versteht mein Problem. Ich habe schon überlegt, mehrere Server einzuplanen, wo die Dateien hochgeladen werden.

Dann wäre ja der Korrekte weg, dass ich in einer Tabelle mir mitführe, auf welchem Server die Datei letztendlich gelandet ist, oder?

Entschuldigt für die vll. verwirrende Fragestellung.

Ich hoffe, ihr konntet mir einigermaßen folgende.

Beste Grüße und danke für die Hilfe,
reloop

20.04.2012 - 10:30 Uhr

Hallo liebes Forum,

ich habe eine sehr simple Frage, deren Lösung mir jedoch mehr als komplex erscheint. Und bevor ich vielleicht den Falschen weg wähle, möchte ich mir doch erstmal eure Ideen, Meinungen und Erfahrungen anhören.

Kurzfassung:

Derzeit entwickel ich eine Software, für ein Callcenter. Es basiert auf C# mit einem WPF-Frontend und ich arbeite nach dem MVVM-Pattern.

Nun hat der Benutzer, nachdem er sich eingeloggt hat, eine komplette Übersicht mit allen Anrufen die angegangen sind. Das ganze wird über ein DataGrid visualisiert und beläuft sich auf ca. 3.000 Einträge, im Standardfall.

Das Programm ist durchgehend geöffnet.

Meine Frage nun:

Wenn 3 Personen gleichzeitig arbeiten, würde ich gerne, das bei Erfassung eines neuen Anrufes von Mitarbeiter A, sich die Übersichten von Mitarbeiter B und C aktualisieren und Sie diese Änderungen wahrnehmen.

Nun habe ich bereits über einen Timer nachgedacht, der von Zeit zu Zeit die Daten aktualisiert. Aber es kann ja nicht der Weisheit letzter Schluss sein, wenn ich im 2 Minuten Interval jedes mal 3.000 Datensätze aus der MSSQL Tabelle ziehe und das DataGrid aktualisiere.

Wie ist also an dieser Stelle die richtige Vorgehensweise? Bzw. wie löst ihr solche Verfahren?

Beste Grüße,
reloop

08.04.2012 - 17:34 Uhr

Hallo liebe Community,

ich habe die Lösung für mein Problem gefunden.

http://eric.burke.name/dotnetmania/2009/04/26/22.09.28

Beste Grüße

08.04.2012 - 16:20 Uhr

Hallo,

erstmal sorry für den Titel, aber mir ist für mein Problem keine kurze Beschreibung eingefallen.

Und zwar habe ich folgende IST-Situation:

Ich weise meinem ViewModel ein View zu, mittels DataTemplate. Das sieht dann so aus:

    <DataTemplate DataType="{x:Type MyViewModel}">
        <Views:MyView />
    </DataTemplate>

Jetzt habe ich ein TabContorl, welches pro TabItem ein ViewModel bzw. dessen View anzeigt. Mein Problem ist, dass nun beim Wechseln der Tabs immer wieder der InitializeComponent der View aufgerufen wird, was dazu führt, dass mein Control immer wieder neu geladen wird.

Ist es irgendwie möglich, es zu unterdrücken, wenn eine View bereits geladen wurde?

Ich hoffe ihr konntet mir folgen und kennt vielleicht eine Lösung.

27.06.2011 - 12:24 Uhr

Hallo inflames2k,

ist es mir denn dort auch möglich, "lokal" auf dem Gerät Daten zwischenzuspeichern?

Und ist es nicht ein Umweg, wenn ich die Verbreitung der Anwendung über den Shop regeln muss, anstatt den Aussendienstkollegen nur eine Webseite aufrufen lassen zu müssen?

Denn wen mich nicht alles täuscht, ist der Weg, bis zur Verfügbarkeit der Application im Store ein etwas länger u. umfangreicherer Weg.

Beste Grüße,
reloop

27.06.2011 - 10:37 Uhr

Hallo chilic,

die Anwendung muss folgendes Leisten:

  • Login mit seinem Mitarbeiter Account
  • Erfassung seiner heute erledigten Aufträge
  • Übersicht seiner erfassten Aufträge ( + Bearbeiten )
  • Abarbeitung eines individualisierten Aufgaben-Kataloges

Bei der alten Anwendung war es so, dass wenn keine Internetverbindung hergestellt werden konnte, die Daten auf dem Gerät zwischengepuffert wurden und beim nächstmögichen Verbindungsaufbau mit übertragen wurden.

Auf dieses Feature werde ich zukünftig wohl oder übel verzichten müssen, oder?

Beim erfassen dieser Daten, soll er es natürlich so komfortabel wie nur möglich haben. Bedeutet, umsortieren von Listen, Hinweismeldung im Sinne von Messages und das effiziente Laden sollten vorhanden sein.

Nun als die Frage, auf welche Technik ich gehen soll.

Android, Windows Phone und iOS sollten im Idealfall abgedeckt sein. Wobei letzteres eher sekundär ist.

Danke für eure Hilfe!

reloop

26.06.2011 - 23:11 Uhr

Zu Beginn sprach ich von Windows Mobile 6.5 - richtig. Da dies die momentanen Endgeräte sind. Aber immer mehr der Aussendienstmitarbeiter werden nun auf Windows Mobile 7 Geräte umgestellt.

Der Gedanke mit der Webanwendung kam mir auch schon. Und dabei stieß ich auf PhoneGap. (Was übrigends HTML5 voraussetzt.)

Oder soll ich das ganze einfach als Mobile Anwendung umsetzen, zusammen mit einer guten JS-Library?

Gruss & danke!

26.06.2011 - 21:34 Uhr

Hallo liebe Community,

wir setzen in der Firma zur (externen) Datenerfassung eine Mobile Lösung ein. Die Mitarbeiter besitzen momentan einen PDA oder Mobiles Gerät mit Windows Mobile 6.5. Die Anwendung wurde in C# mit dem Compact Framework erstellt.

Nun möchten/müssen wir diese Anwendung neu schreiben. Nachdem ich mich über die gänigen Möglichkeiten informiert habe, scheint es mir das beste zu sein, das Projekt als reine Webseite zu entwickeln, da die Mitarbeiter in 99% ihrer Zeit sowieso eine Internetverbindung aufbauen können.

Nun Frage ich mich, hat jemanden Erfahrungen mit PhoneGap oder ähnlichem gemacht?

Und was ist mit Windows Phone? Da es momentan noch kein HTML5 unterstützt, wäre das vielleicht der falsche Ansatz?

Im Endeffekt bin ich soweit, dass ich die Seite einfach ganz normal mit PHP u. JavaScirpt schreiben möchte, angepasst, auf Mobile - Endgeräte.

Ich frage mich nur, ob ich diesen Schritt nicht in einem halben Jahr bereuen werde.

Vielleicht habt ihr ja ein paar Tipps oder eine Meinung dazu.

Beste Grüße,
reloop

07.06.2011 - 12:56 Uhr

Hallo liebe Community,

ich bin mir nicht sicher, ob ich mit Netzwerktechnologien das richtige Subforum gewählt habe. Sollte es unpassend sein, bitte ich dies zu entschuldigen.

Nun zu meiner Frage:

Ich verwende für meine Anwendung eine MySQL Datenbank. (Für Verbindungsaufbau und Manipulation der Daten verwende ich Objekte aus der MySql.Data.Dll)

Baue ich nun die Verbindung auf oder sende Statements an die Datenbank (Insert, Select, etc.) ist es ein leichtes mithilfe eines Netzwerksniffers nachzuvollziehen, welche Daten geschickt werden und wo diese landen.

Welche Möglichkeiten habe ich, dies zu unterbinden bzw. evtl. zu verschlüsseln?

Wie geht ihr mit solchen Fällen um?

Gruß,
reloop

06.06.2011 - 16:17 Uhr

Hallo dN!3L,

danke für den Tipp. Habe mich eingelesen und mir die Lösung erarbeitet, die für meinen Fall ausreichend ist.

Lösung:

new Regex(@"\[.*?\]").Replace(myString, "");

Und herbivore, das ist Tatsächlich eine kniffelige Sache. Da es durchaus auch Vorkommen kann, dass zwei "[]"-Werte aufeinander folgen.

Werde mir da mal Gedanken machen.

Danke für die Hilfe.

Gruss,
reloop

06.06.2011 - 14:22 Uhr

Hallo Liebe Community,

ich möchte mithilfe von RegEx folgenden String beabreiten:

"Das ist ein [xxxy] Beispiel text [acbc] den es [xx01] in vielen Varianten gibt [22112] !"

Das Ergebnis sollte so aussehen:

"Das ist ein Beispiel TExt den es in vielen Varianten gibt!"

Ergo: Möchte ich alle [] und deren Inhalt aus dem String entfernen.

Ist RegEx da die einfachste Lösung? Oder gibt es vielleicht noch eine viel bessere Methode?

Gruss

17.05.2011 - 08:28 Uhr

Problem gefunden. Meinem Projekt hat die Datei "System.Design" gefehlt, welche scheinbar vom updateSystem verwendet wird.

Jetzt läufts!

Gruß,
reloop

16.05.2011 - 17:16 Uhr

Hallo Maximilian,

erstmal ein großes Lob für diese Super Anwendung. Es hat alles Soweit funktioniert (Von der Erstellung des Projekts bishin zum Upload des Updates) nur leider scheitert es in der letzten Instanz - und zwar beim Einbinden in das eigentliche .NET Projekt.

Bekomme beim Compile folgende Melding:

Fehlermeldung:
Fehler 1 21 Der Typ- oder Namespacename "updateSystemDotNet" konnte nicht gefunden werden. (Fehlt eine Using-Direktive oder ein Assemblyverweis?) C:...\MainWindow.xaml.cs 7

Obwohl im Code alles richtig integriert ist und zur Entwurfszeit auch keine Probleme beim Zugriff auf das Objekt besteht.

Hast du eine Idee woran es liegen kann?

Gruss

13.05.2011 - 10:32 Uhr

Alles klar.

Vielen Dank an alle, für die spitzen Hilfe!

Gruß,
reloop

12.05.2011 - 20:08 Uhr

Hallo,

danke für dieses super Feedback. Das hat mir wirklich weitergeholfen.

@fod:
Die Entwicklung fand bei uns mit Visual Foxpro 7 statt.

Noch eine abschließende Frage an die Allgemeinheit:

Bis zu wieviel Datensätze arbeitet MSSQL den Performant? Ich frage aus dem Grund, da einige der Buchungstabellen gerne mal 200.000 Datensätze pro Jahr erreichen.

Gruss,
reloop

12.05.2011 - 14:37 Uhr

Hallo liebe Community,

ich versuch es kurz und knapp zu formulieren:

Ich habe folgenden (bestehenden) Ablauf umzustellen auf eine MSSQL Datenbank:

Wir verwalten in unserer aktuellen Anwendung die Daten in *.DBC und *.DBF - Dateien. Diese befinden sich immer im Ordner "data". Am Ende jeden Jahres, wird das "Data" Verzeichnis kopiert in z.B: "Data2009". Daraufhin wird das aktuelle "data" Verzeichnis wieder geleert damit Quasi für das Jahr 2010 komplett neu erfasst werden kann.

Der Kunde hat in der Anwendung die Möglichkeit, zwischen den einzelnen Jahren zu wechseln. Somit kann er seine Daten aus den Vorjahren weiter einsehen, aber auch in einem gereinigtem Stand für das aktuelle Jahr arbeiten.

Nun möchte ich diese Anwendung umstellen auf MSSQL. Dort habe ich kein Dateisystem mehr, welches ich "mal eben" umkopieren kann in ein "data2010" - was ich mittlerweile auch nicht mehr für die beste Lösung halte.

Nun wollte ich euch fragen, was ihr für Sinnvoll haltet. Soll ich einfach bei jeder Tabelle eine extra Spalte "year" mitführen, in der ich das Jahr verwalte? Somit müsste ich nicht mehr aufwändigerweise alle Tabellen hin und her kopieren und keine gesonderten (im falle von MSSQL) Datenbankzugriffe führen.. Im Sinne von "select database data2010" o.ä.

Ich hoffe ihr könnt in etwa nachvollziehen, worum es mir geht. Oder vielleicht bildet ja jemand von euch ein ähnliches Verfahren ab und hat schon erfahrungen gesammelt?

Gruß,
reloop

09.05.2011 - 15:57 Uhr

Da an dieser Stelle ein Byte-Cast fehlt.

So sollte es funktionieren:

byte[] testArr = new byte[] { (byte) (test ? 1 : 0) };

Noch kurz zur Erklärung:

byte[] testArr_2 = new byte[] { false ? 1 : 0 };

Damit erzeugst du unerreichbaren Code. Somit ist vor dem Compile klar, dass es nur 0 sein kann.

Meiner Meinung nach wird es direkt so interpretiert:


byte[] testArr_2 = new byte[] { 0 };

Dadurch entsteht keine Umwandlung in Int, wie es oben der Fall ist.

Gruss,
reloop

04.05.2011 - 09:10 Uhr

Hallo Ayke,

hat leider keine Veränderung gebracht. Trotzdem danke für die Hilfe!

Hat vielleicht noch jemand eine Idee?

Gruss,
reloop

03.05.2011 - 20:52 Uhr

Hallo liebe Community,

ich habe folgendes Problem:

Ich möchte meiner Application einen "SplashScreen" verpassen. Dafür habe ich meiner Anwendung ein Window mit dem Namen "SplashWindow" hinzugefügt. Dieses Window enthält ein Label mit dem Namen "txtStatus".

Zur Aktualisierung dieses Textes existiert eine Methode:

SplashWindow.xaml.cs


public void SetStatusText(string text)
{
     if (!txtStatus.Dispatcher.CheckAccess ()) { 
            txtStatus.Dispatcher.Invoke ((Action)delegate { SetStatusText(text); });
      return;
   }
   
   txtStatus.Text = text;
}

Nun instanziiere ich im App (Codebehind) wie folgt den SplashScreen & das MainWindow:

App.xaml.cs



SplashWindow _splashWindow;
....OnStartup()
{
   _splashWindow = new SplashWindow();
   _splashWindow.Show();

   var mainWindow = new MainWindow();
   mainWindow.Show();
   mainWindow.OnSetStatus = SetStatusText;
}

private void SetStatusText(string text)
{
    _splashWindow.SetStatusText(text);
}

Soweit so gut, und zum Schluss existiert im Loaded-Event vom MainWindow folgender Aufruf:

MainWindow.xaml.cs


...

public .... Loaded
{
  OnSetStatus("Daten werden geladen...");
  HoleDaten();
  OnSetStatus("Alle Daten wurden erfolgreich geladen.");
}

...

Es funktioniert alles auch soweit, bei dem Aufruf "OnSetStatus" wird der gesamte Code bishin zum "txtStatus.Text = text" durchlaufen. Jedoch updatet sich die Gui erst beim Beenden der OnStartUp-Methode.

Was mache ich falsch?

Ich habe mich an folgendem Beispiel orientiert:
[

[FAQ] Controls von Thread aktualisieren lassen (Control.Invoke/Dispatcher.Invoke)](http://www.mycsharp.de/wbb2/thread.php?threadid=33113)

Kam jedoch nicht zum gewünschten Ergebnis.

Vielleicht habt ihr ja einen Tipp für mich.

Gruss

15.04.2011 - 10:09 Uhr

Hallo,

ich habe folgendes Frage:

Ich besitze ein MainViewModel welches an die MainWindow.xaml - Datei gebunden ist. Im MainWindow gibt es ein ContentControl das z.B. an ein AllAdressViewModel bindet - welches als DataTemplate eine AllAdrsView.xaml beinhaltet. (Diese View besitzt lediglich ein Grid zur Visualisierung der Daten.)

Nun möchte ich via. Doppelklick auf eine Zeile im Grid ein neues Window aufgehen lassen, wo die Detailinformationen zum Datensatz stehen. Das ist alles soweit kein Thema. Nur habe ich momentan die Instanzierung und den Aufruf des Windows im AllAdrsViewModel.

Ist dieser Weg richtig? Oder müsste ich folgenden Weg gehen:

AllAdrsViewModel -> Ruft Event von MainViewModel auf -> Ruft Event von MainWindow.xaml auf -> Instanziert und ruft DetailWindow auf.

Danke für eure Hilfe,
reloop

08.04.2011 - 09:17 Uhr

Sehe ich genauso. Habe Ihnen nocheinmal eine E-Mail geschrieben wo ich diese Vorgehensweise moniert habe. Bin gespannt auf das Feedback.

08.04.2011 - 08:21 Uhr

Vielleicht hilft's, nach dem englischen Text der Exception zu suchen:
"Operation could destabilize the runtime"

Hast Du das schon gefunden?

>

Nein, das hatte ich noch nicht gefunden. Da steht jedoch die notwendige Vorgehensweise.

Lösung:
Tools->Options->IntelliTrace->General->"Intellitrace events and call information" deaktivieren

Ujr, ich danke dir wirklich, für deinen Aufwand den du betrieben hast. Mir ist ein Stein vom Herzen gefallen, als ich wieder kompilieren konnte.

Danke!

07.04.2011 - 10:27 Uhr

Sorry, war wahrscheinlich von mir falsch Formuliert.

Der Hersteller teilte mir mit, dass bei Ihm dieser Fehler nicht nachvollziehbar ist. Auch nicht in dem von mir an Ihn geschickten Beispielprojekt. (Wie gesagt, der Fehler tritt auch nur bei mir auf.)

Er verwies mich darauf, dass Ursache des Fehlers etwas durch mich produziertes sein muss.

Und ich erhoffe mir durch das erstellen dieses Threads hier, dass mir evtl. jemand auf die Sprünge helfen kann, wo ich noch suchen kann.

Danke für deine Hilfe,
reloop

07.04.2011 - 09:20 Uhr

Da dieser Fehler explizit nur auf meinem Rechner auftritt, verweißt er auf einen eigenverantwortlichen Fehler.

Kopiere ich das gesamte Projekt auf einen anderen Rechner und starte es von dort, funktioniert es einwandfrei.

Gruss

07.04.2011 - 08:28 Uhr

Arbeitest du im VS auch im Release mode?
Rechtsklick auf die Solution und "Clean Solution" hilft oft - dann sollte es im VS und per Direktstart auf dem EXE funktionieren.. oder eben an beiden Orten nicht mehr.

Benutzt du R#? Manchmal (k.A. wann und warum) benutzt die IDE dann auch ShadowCopied Assemblies. Diese lassen sich durch ReSharper => Options => Tools => Unit Testing => "Shadow-copy assemblies being tested" Häckchen entfernen. (ich weiss, schaut nach Testing aus - hat aber manchmal auch Einfluss auf den Rest)

Hallo martinO,

leider hatte keins von beiden eine positive Auswirkung auf mein Problem. [Setze übrigends R-Sharper (R#) ein.]

Trotzdem vielen Dank, für deine Hilfe.

Gruß

05.04.2011 - 14:32 Uhr

Hallo,

ich wollte heute Morgen an einem Programm weiterarbeiten, welches jetzt ca. 2-3 Wochen unberührt war.

Das letzte Release läuft einwandfrei - es ging nur darum, Features zu integrieren.

Jetzt erhalte ich aber beim Compile eine Fehlermeldung (Siehe Anhang). Das Merkwürdige an der Sache ist, ich bekomme diese Meldung nur wenn ich es im Studo mit F5 Compilire + Ausführe.

Wechsel ich in den Release-Ordner und starte die *.EXE-Datei von dort, erhalte ich keine Fehlermeldung.

Ich weiß einfach nicht mehr, wo ich noch suchen muss.

Den Stack-Trace habe ich ebenfalls unten angeführt.

Gruss,
reloop


bei DevExpress.Xpf.Core.DXTabControl.RaiseSelectionChanging(Int32 oldSelectedIndex, Boolean& cancel)
bei DevExpress.Xpf.Core.DXTabControl.AllowSelectionChanging(Int32 oldValue)
bei DevExpress.Xpf.Core.DXTabControl.OnSelectedIndexPropertyChanged(Int32 oldValue)
bei DevExpress.Xpf.Core.DXTabControl.<.cctor>b__4(DependencyObject d, DependencyPropertyChangedEventArgs e)
bei System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
bei System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
bei System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
bei System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
bei System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
bei System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
bei DevExpress.Xpf.Core.DXTabControl.set_SelectedIndex(Int32 value)
bei DevExpress.Xpf.Core.DXTabControl.OnResetItem()
bei DevExpress.Xpf.Core.DXTabControl.OnItemsChanged(NotifyCollectionChangedEventArgs e)
bei System.Windows.Controls.ItemsControl.OnItemCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
bei System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
bei System.Windows.Data.CollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
bei System.Windows.Controls.ItemCollection.RefreshOverride()
bei System.Windows.Data.CollectionView.RefreshInternal()
bei System.Windows.Data.CollectionView.Refresh()
bei System.Windows.Controls.ItemCollection.EndInit()
bei System.Windows.Controls.ItemsControl.EndInit()
bei MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin)

04.04.2011 - 17:30 Uhr

Danke für eure Hilfe.

Alle weitern Informationen habe ich hier gefunden:

http://msdn.microsoft.com/de-de/magazine/dd419663.aspx

Gruss,
reloop

04.04.2011 - 10:55 Uhr

Danke talla.

Eine letzte Frage:

Wenn meine AllAdressViewModel nun eine DataList<AdressViewModel> beinhaltet, muss ich dann alle Eigenschaften des Models auch in dem AdressViewModel hinterlegen?

Gruss

03.04.2011 - 22:55 Uhr

Danke, Talla.

Wäre folgende Aufsplittung denn richtig?

IST-ZUSTAND:

Es existiert ein Model mit dem Namen "Adresse".
Ed existiert ein ViewModel mit dem Namen "AdresseViewModel".
AdresseViewModel besitzt folgende Properties:

ObservableCollection<T1> DataList
T1 Current

und folgende Methoden:

Save()
Delete()
New()

.. diese arbeiten alle immer mit dem "Current"-Objekt.

SOLL-ZUSTAND

Es existiert ein Model mit dem Name "Adresse".
Es existieren 2 ViewModels:

++AdresseViewModel ++ mit folgenden Methoden:

Save()
Delete()
New()

AllAdressViewModel mit folgender Property&Methode:

ObservableCollection<Adresse> DataList

-

LoadData()


Kommt das in etwa dem hin, was als Standard definiert wird?

Oder wie würdest du es Lösen, wenn du zum einen eine Übersicht aller Erfassten Adressen in einem Grid realisieren müsstest, welches beim Doppelklick auf einen Datensatz, das Beabreiten von diesem ermöglicht?

Gruss,
reloop

PS:
Danke für die Hilfe.

03.04.2011 - 19:58 Uhr

Hallo liebe Community,

ich habe eine Verständnisfrage zum Verwalten der Models im MVVM Konstrukt.

Und zwar geht es um folgendes:

Muss ich für ein Model quasi 2 ViewModels besitzen? Eins, welche Alle Daten beinhaltet und eins welches sich immer um genau ein Objekt kümmert?

Angenommen, ich habe eine Adressverwaltung. Diese beinhaltet ein Model "Adressen". Habe ich dann nun ein ViewModel "AllAdressenViewModel" und ein "AdressenViewModel"?

Oder ist es in Ordnung - so wie ich es bisher mache - ein ViewModel zu haben welches:

AdressenViewModel heißt, das eine ObservableCollection<Adressen> mit ALLEN Adressen besitzt und als Property ein "CurrentAdresse" object, wo immer das aktuell zu bearbeiten Adressen Objekt liegt?

Gruss,
reloop

25.03.2011 - 14:22 Uhr

Hallo liebe Community,

ich möchte über meinem DataGrid eine Textbox visualisieren, über welche die Einträge im DataGrid durchsucht werden können.

Das DataGrid ist an ein List<T>-Objekt gebunden. Im Standardfall enthält die List ca. 6.000 Datensätze. Das Element in der Liste bestitzt 20 Properties, die ich durchsuchen möchte.

Nun würde mich interessieren, wir ihr das Lösen würdet.

Momentan vergleiche ich mithilfe von Reflection jede Property ob Sie dem Suchstring entspricht - wenn das nicht der Fall ist - wird das Item aus der Collection entfernt.

Gruss,
reloop

20.03.2011 - 00:08 Uhr

Danke für deine Hilfe.

In dem Fall habe ich wirklich WPF-App gemeint. Es ging mir darum, ob es sich lohnt, den Aufwand in Kauf zu nehmen meine Services als WCF zu erstellen und von meinen existierenden DLL's abzuweichen.

Oder ob dieser Schritt mir keine erkennbaren Vorteile liefert.

Gruss

19.03.2011 - 22:42 Uhr

Liebe Community,

die letzten Tage habe ich mich mit WCF auseinander gesetzt. Ich habe viel recherchiert, jedoch für mich noch kein befriedigendes Ergebenis gefunden.

Mir entzieht sich bisher noch der klare Vorteil beim Einsatz von WCF.

Ausgangssituation bei der Anwendung wäre folgende:

Es gibt einen Server wo die WPF-Application liegt, auf den die Clients zugreifen. (Über eine Netzwerkverbindung).

Die Datenbank kann im Internet liegen, befindet sich jedoch in 80% der Fälle auf einem SQL-Server welcher sich auf dem selben Server befindet, wie die Application selbst.

Bisher habe ich meine Services in .DLL's ausgelagert und fahre damit auch sehr gut.

Nun gibt es ja diese Aussage von Juval Löwy, die besagt: "All your classes should be WCF services". Noch wäre der Aufwand, auf WCF umzustellen überschaubar. Aufgrunddessen wäre ich über ein Feedback von euch sehr erfreut.

Beste Grüße,
reloop

15.03.2011 - 16:10 Uhr

Ich habe mir folgenden Lösungsansatz überlegt:

Mithilfe von CSharpCodeProvider und CompilerResults werde ich mir zur Laufzeit eine Assembly generieren, welche die gewünschten Zeilen in einer Methode zur Verfügung stellt, auf die ich zugreife.

Compilieren würde ich die Assembly aus einem String, den ich mir zusammenbaue. Das Objekt ICodeCompiler sollte ausreichend sein.

Was haltet ihr davon?

15.03.2011 - 15:47 Uhr

Pardon.

Memo-Felder sind, vereinfachter ausgedrückt, Textfelder in der Datenbank.
Definition Memo-Fields

IIF entspricht einer unteranderem in Visual Foxpro geläufigen Abfrage:
Hinweis IIF

In C# würde ich dort zum "? :"-Konstrukt greifen.

Und das Word-Dokument existiert als Datei auf der Festplatte.

Gruss..

15.03.2011 - 15:11 Uhr

Also:

Um mal konkret zu werden:

Es geht darum, dass ich ein Projekt übernommen habe, wo es die Möglichkeit gibt, dass der Kunde über ein Memofeld Textmarken zu Word-Dokumenten hinterlegen kann.

Bedingung ist es, dass diese in ihrer alten Form bestehen bleiben sollen.

Momentan gibt es also eine Tabelle mit einer endlichen Anzahl von Dokumenten die in einem Textfeld (Memofeld) ihre Textbausteine hinterlegt haben.

Das sieht so aus:

tvTextÜberschreiben("Euro1",iif(adrs.einwohner<5000,"1.200,00 EUR",""))

Das ist jetzt nur eine von vielen Zeilen, aus diesem Memofeld. Eine Methode zu implementieren, die ein Textdokument öffnet und eine Textmarke mit einem beliebigen Wert besetzt, ist kein Problem. Jedoch dem Kunden die Möglichkeit zu überlassen, individuelle Werte (in dem Fall mithilfe von einem IIF) zu hinterlegen.

Ich hoffe, mein Problem wird für einige nun etwas klarer und ich bitte meine anfängliche ungenaue Beschreibung zu entschuldigen.

Gruss

15.03.2011 - 14:32 Uhr

Danke für deine zügige Antwort.

Ich kann dir jedoch nicht folgen, in wie weit mir das Verwenden von delegates & anonymen Methoden an dieser Stelle weiterhelfen soll.

Mir ging es darum, ob es in C# ein äquivalent zum Macro-Operator in Visual Foxpro gibt. Bedeutet, Code zur "Laufzeit auszuführen". Oder zumindest Bedingungen extern zu Verwalten.

Vielen Dank für deine Hilfe & Mühe,
reloop

15.03.2011 - 14:05 Uhr

Hallo MrSparkle,

mir ist gegenwärtig nicht bewusst, wie mir die Verwendung von delegates oder anonymen Methoden weiterhelfen sollte.

Vielleicht, kannst du mir ja auf die Sprünge helfen.

Gruss

15.03.2011 - 11:25 Uhr

Hallo liebe Community,

ich habe eine Frage bezüglich dem Ausführen von Code, der nicht fest im Programm hinterlegt ist.

Ich hoffe es wird nicht zu unverständlich, aber ich versuch es mal:

Eine "alte" Visual Foxpro-Lösung wird umgeschrieben. Dort hatte der Anwender bisher die möglichkeit über Tabellen, welche Memo-Felder beinhalteten (Mediumtext im SQL) eigene Expressions zu hinterlegen.

Das sah wie folgt aus:

"iif(Expression,Fall1,Fall2)"

Und wurde im Code wiefolgt verwendet:

cCode = tabelle.Wert // entspricht "iif(Expression,Fall1,Fall2)"

if &cCode
 ... beliebiger Code
endif

Der Operator "&" hat also den Code in der Variable cCode ausgeführt.
Gibt es diese Möglichkeit auch in C-SHARP?

Ich hoffe, es ist nicht all zu verwirrend.

Gruß,
reloop