Hallo,
folgende Anmerkung:
string path = Directory.GetCurrentDirectory() + "\\" + textBox1.Text;
Verwende stattdessen besser:
string path = Path.Combine(Directory.GetCurrentDirectory(), textBox1.Text);
Damit spars du dir das unschöne String zusammen gehacke. Intern passiert da zwar vermutlich auch nix anderes, aber's sieht einfach schöner aus.
Hast Du nach der Fehlermeldung schon einmal bei Google gesucht? https://msdn.microsoft.com/de-de/library/44ezxxy3.aspx
Ich kann es gerade nicht ausprobieren, aber versuch doch mal
oDoc.Bookmarks(@"\Line").Range.InsertBreak(Word.WdBreakType.wdPageBreak);
Servus
Am einfachsten ist es, wenn du die MainForm damit beauftragst. Hier kommt es nun nur drauf an, mit was du arbeitest.
Mit WinForm findest du die MainForm im ApplicationContext: MSDN. Dort kannst du dann via BeginInvoke() die Abfrage abschicken.
Bei WPF findest du es unter "Application.Current.MainWindow" (bzw. alle geöffnete unter "Application.Current.Windows"). Dort kannst du dann mit dem Dispatcher am Window arbeiten.
MfG Marco
Gener4tor schrieb:
Vielleicht noch zur Erklärung wie mein Programm - vereinfacht gesagt - funktionieren soll:
Der User hat eine Menge von Inputwerten und die dazu passenden Outputs (Ergebnisse). Weche das sind um in welchen Zusammenhang die Eingänge und die Ausgänge stehen bleibt dem Benutzer überlassen (Ob er jetzt irgendwelche Messdaten angibt oder einfach mit Excel irgendwelche Formeln berechnet ist nicht festgelegt). Dann soll das Programm die verschiedenen Optimierungsverfahren darauf ansetzen. Danach gibt der User neue Inputwerte an, klickt auf "berechnen" und erhält eine Liste mit den Prognosen der verschiedenen Verfahren.
Hier geht es um die Ausgabe des Verfahrens "Neutron".
Und da stellt sich mir die Frage: Welche Lernkonstante verwende ich wenn die Ergebnisse dermaßen unterschiedlich sein können?
Das ist nicht möglich.
Du willst eine feste, unveränderliche Lernrate (da der Benutzer sie ja nicht einstellen soll), diese soll aber trotzdem für alle Probleme gleichermaßen anwendbar sein. Das geht aber nicht, weil die "richtige" Lernrate auch vom Problem abhängig ist. Entweder der Benutzer gibt eine Lernrate vor (die er im Notfall halt dann durch probieren rausfinden muss). Oder du gibst ihm ein Verfahren welches die Lernrate automatisch bestimmt.
Wenn ich dich richtig verstehe soll das Programm dann von Leuten bedient werden die keine wirkliche Ahnung haben, richtig?
Das ist sowieso problematisch, weil bei NN musst du ja auch immer eine Netzstruktur angeben - also wieviel Neuronen, wieviele Schichten und welche Verbindungen, welche Aktivierungsfunktionen etc. etc. Hier muss der Benutzer sowieso massig konfigurieren (und damit zumindest grundlegend verstehen was er da eigentlich tut), da kommt es auf einen Parameter mehr (die Lernrate) auch nicht mehr an, oder?
Einfach nur Inputs und Outputs vorgeben wäre natürlich schön, aber das funktioniert nicht, je nach Problem brauchst du extrem unterschiedliche Netze...
Hallo Leute,
ich möchte auf schnellem Wege (zu testzwecken) eine Generische UI haben, die mir via Reflections und Attribute aus Klassen UI Masken anzeigt!? (WPF bevorzugt)
Gibts sowas??!?! Nach was such ich da?;)
Danke und Grüße
Th69 schrieb:
Du hast doch schon erkannt, daß die DataReceived-Methode in einem eigenen Thread läuft. Daher bringt es nichts, dort eine Exception zu werfen, da du sie niemals in deinem (GUI-)Thread fangen kannst (außer du 'invoke'st diese Exception: Controls von Thread aktualisieren lassen (Control.Invoke/Dispatcher.Invoke)).
Besser ist es daher, Ereignisse dafür zu benutzen.
Hm Ok, also werd ich wohl um einen OnError-Event nicht herumkommen, das hatte ich befürchtet.
Th69 schrieb:
Außerdem schreibst du, daß du selbst keine Threads einsetzt. Ich hoffe, dir ist aber klar, daß wenn jemand deine Klasse in einem eigenen GUI-Programm einsetzt, er selber dafür einen Thread erzeugen müßte, denn deine Write-Methode würde ja sonst den GUI-Thread blockieren (s. z.B. Warum blockiert mein GUI?).
Ja das ist mir schon klar. Ich will dem Benutzer halt gerne die Wahlfreiheit lassen: Wenn er blockieren will soll er das können. Das ganze dann selbst in einen eigenen thread auszulagern ist dann ja easy (außerdem ist es so unabhängig vom "Parallelisierungs-Werkzeug" wenn man so will :D).
hustbaer schrieb:
ps: Object.GetHashCode und WeakReference kennst du, oder?
Nein, WeakReference kannte ich noch nicht. Schonmal sehr gut zu wissen dass es sowas gibt.
hustbaer schrieb:
Sollte sich schon machen lassen.
Bis auf ein paar spezielle Kleinigkeiten die ConditionalWeakTable macht die du vermutlich nicht brauchst.
Aber warum sagst du uns nicht erstmal was du eigentlich erreichen willst. Und idealerweise das X und nicht das Y.
Also das Problem (sozusagen das ist, dass ich mit einer ziemlich großen, statischen Klasse arbeiten muss. Diese Klasse ist nicht von mir geschrieben und soll (bzw. muss) auch statisch bleiben, da die in der Form in vielen Projekten verwendet wird.
Es wäre aber wesentlich praktischer, wenn man die Klasse instanziieren könnte, da die Klasse auch einen Zustand hat und man manchmal mehrere Zustände auf einmal haben will. Momentan ist das ziemlich umständlich.
Meine Idee wäre jetzt, mir eine Wrapper-Klasse zu bauen, welche intern den Zustand der statischen Klasse verwaltet (auf die Idee dazu bin ich über unsere letzte Diskussion im WinAPI Forum gekommen, da das ein relativ ähnlich Problem war, wenn auch in C++).
Ziel ist dass ich die statische Klasse wie eine ganz normale Klasse verwenden und instanziieren kann, im Hintergrund aber immernoch die ursprüngliche Klasse verwendet wird.
Hallo,
ich habe folgendes Problem.
Ich habe einen Button mit dem FoderBrowserDialog verknüpft.
Wenn ich nun auf dem Button drücke erscheint mir FolderDialog immer in der gelichen Ansicht (von oberen Drittel des Bildschirms nd ziemlich schmal)
Kann ich irgendwie festlegen, dass dieses Fenster in der vertikale gröesser oder maximiert angezeigt werden soll?
oder noch besser die letzte Fenstergrösse des FolderBrowserDialogs merken und beim nächsten Öffnen wiederherstellen
Bzw. Kennt jmd. noch ein gutes Tutorial ? Das eher darauf eingeht in die Vorgehensweise => Zieh ein "Bildchen" oder "Button" in die Form und "beschalte" diese dann...