Laden...

Profil von dwoe

myCSharp.de - Member Mitglied seit
D
dwoe
myCSharp.de - Member
23
Themen
57
Beiträge
Dabei seit
04.03.2010
Letzte Aktivität
vor 12 Jahren
Erstellt vor 13 Jahren

Hallo und danke,

@apt: es geht mir natürlich nicht nur um die Zahlen. Ich hatte ja geschrieben, dass es bewusst ein einfaches Beispiel ist. Der Task soll durch ein Event gestartet werden und dann eine heftige Berechnung im Hintergrund durchführen. Wenn es während dieser Berechnung erneut zum event kommt, muss der Task von vorne beginnen.

Ich habe mal etwas zusammen geschrieben, dass so aber leider nicht funktioniert:


        public static Task t = new Task(DoWork);
        public static CancellationTokenSource ct = new CancellationTokenSource();
        
        private static void DoWork()
        {
            for (var i = 1; i <= 10; i++)
            {
                if (ct.Token.IsCancellationRequested)
                {
                    break;
                }
                else
                {
                    Console.WriteLine(i);
                    Thread.Sleep(100);;
                }
            }
        }

        private void Form1_Click(object sender, EventArgs e)
        {
            if (t.Status==TaskStatus.Running)
            {
                ct.Cancel();
            }
            else
            {
                ct = new CancellationTokenSource();
                t = Task.Factory.StartNew(DoWork, ct.Token);   
            }
            
        }

Jemand Ideen? Danke,

Dirk

Erstellt vor 13 Jahren

Hallo zusammen,

ich weiß, das Thema ist schon öfters angesprochen worde und ich habe auch schon einiges gelesen - aber es funktioniert immer noch nicht.

Um es zu vereinfachen, habe ich ein simples Beispiel:

Als Reaktion auf das MouseClick-Ereignis eines Forms, soll ein Thread oder Task gestartet werden, der einfach die Zahlen 1 bis 10 auf der Console ausgibt (mit jeweils einer Sekunde Verzögerung). Wenn zwischenzeitlich das Ereignis wieder ausgelöst wird, soll der Thread stoppen und wieder bei 1 anfangen zu zählen.

Ich arbeite mit .Net 4.0 - also sollte ich wohl Tasks nutzen - nur alle meine Versionen funktionieren nicht. Vielleicht kann mir jemand helfen mit einem kleinen Beispiel?

Vielen Dank,

Dirk

Erstellt vor 13 Jahren

Also Toolkit wäre das Stichwort wonach ich suchen muss....?

Erstellt vor 13 Jahren

... ansonsten sind deine aufgeführten Punkte in wenigen Minuten implemetiert.

... Ist das wirklich dein Ernst?

(Update-Funktionalität, Plugin-Funktionalität,...????)

Erstellt vor 13 Jahren

Hallo,

wenn du sowas wie VS drum herum haben möchtest, dann nimm das doch:
>

😃 VS war nur als Beispiel für eine passende Oberfläche mit Docking gedacht - die ganze spezielle Funktionalität dahinter kann ich eigentlich nicht brauchen.

Mehr so die elementaren Funktionen - zum Beispiel: wie bringe ich dem Programm bei, dass jedes Fenster beim Schließen seine Position und Größe abspeichert und beim erneuten anlegen des Fensters einliest. Oder: wenn ein Fenster ein ListView-Steuerelement nutzt (wie der Windows-Explorer) - wie bringe ich dem dann bei dass Spaltenbreiten automatisch gespeichert werden (ohne es bei jedem Fenster neu zu machen).

Vielen Dank,

Dirk

Erstellt vor 13 Jahren

Hallo und danke,

Hier findest du sowas:

>

wenn ich das richtig verstehe, handelt es sich hierbei ja "nur" um eine Komponente (zur Nutzung des Dockings). Gibt es einen Grund diese zu nutzen und nicht AvalonDock?

Ich denke für alle meine Fragestellungen gibt es die eine odere andere Komponente, die man einbauen könnte.

Was ich aber eigentlich suche ist der Rahmen darum. Quasi ein Grundgerüst für eine Anwendung, die all diese Features schon besitzt bzw. die entsprechenden Komponenten schon nutzt.

Ich könnte zwar jetzt eine Anwendung mittels AvalonDock neu beginnen - dann muss ich aber noch das Logging, die Benutzereinstellungen etc. selber implementieren. Ich hatte gehofft, all das gäbe es schon als fertiger Rahmen für neue Projekte...

Viele Grüße,

Dirk

Erstellt vor 13 Jahren

Hallo zusammen,

ein neues Projekt soll eine MDI-Oberfläche erhalten - ähnlich der Oberfläche von Visual Studio (ist das überhaupt MDI oder nennt sich das anders?).

Was ich suche ist quasi ein Framework oder Rahmen (oder Grundgerüst) für eine solche Anwendung, der mir alle möglichen Arbeiten rund um den Aufbau der Anwendung schon mal abnimmt.

Das wären zum Beispiel:*Verwaltung von Fenstern *Docking von Fenstern (Stichwort: z.B. AvalonDock) *Speicherung von User-/Anwendungsdaten bzw. -einstellungen *Update-Funktionalität *Addin-/Plugin-Funktionalität *etc.

Schön wäre es, wenn man nur noch mit dem "Hinzufügen" eigener Formulare (und natürlich Klassen) mit der Entwicklung beginnen könnte.

Ist klar geworden, was ich suche? ... Gibt es so etwas oder habt Ihr Tipps wonach ich suchen muss?

Vielen Dank,

Dirk

Erstellt vor 13 Jahren

Ich bin wirklich super dankbar für jeden noch so kleinen Tipp und ich weiss sehr wohl, dass ich als Anfänger ohne die tolle Hilfe der Leute hier im Forum völlig aufgeschmissen wäre.

Also nochmal: vielen Dank!

(nur: mir jedes mal zu sagen, dass meine Frage zu unspezifisch ist bringt keinen weiter - die anderen scheinen mein Problemm aber ja verstanden zu haben)

Viele Grüße,

Dirk

Erstellt vor 13 Jahren

@Thomas_1:
Sorry, aber warum ignorierst Du meine Fragen nicht einfach, wenn's Dir zu blöd ist darauf zu antworten. Deine bisherigen Antworten haben zumindest mir (und wahrscheinlich auch sonst kaum jemanden) irgendwie weiter geholfen - dass 39GB/s nicht durch mein 56K-Modem passen, hätte ich glatt vorher gewusst.

Ich denke schon, mein Problem könnte so grob verstanden sein. Ich erwarte auch keine vorgekaute Lösung, sondern bin nur dankbar über grundsätzliche Tipps, wie man ein solches Problem angeht. Wenn jemand ein Codebeispiel kennt: noch besser.

Vielen Dank für Eure Hilfe,

Dirk

Erstellt vor 13 Jahren

Ich denke das macht erst dann Sinn wenn du mehrere solche Textdateien hast.
D.h. während du Textdatei 2 einliest kannst du parallel schon Textdatei 1 verarbeiten.

Langfristig werde ich das ja haben: ich lese mehrere Dateien ein - verarbeite sie - und nutze diese Ergebnisse dann um sie mit einer 3. Datei zu verknüpfen etc....

Daraus wird sich ein ganzer Baum mit abzuarbeitenden Aufgaben ergeben - ein parallel "Abarbeiten" wird spätestens dann sinnvoll...

Vielen Dank,

Dirk

10 von 57 Beiträgen