Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von rollerfreak2
Thema: Quellcode nach fest codierten Strings durchsuchen und ersetzen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ja also wie bereits von Jack mehrmals geschrieben.

* Nimm als Input die csproj Datei
* Diese kannst du parsen und dir eine Liste mit c# Dateien machen
* Dann iterierst du über alle c# Dateien und öffnest diese mit einem Reader
* Nun einen passenden Regex nehmen, und alle Matches in die Resource schreiben und dort dann ersetzen, oder mit der von Jack vorgeschlagenen Extension Method
* Änderungen speichern

Thema: Anwendung stellt irgendwann ihr Arbeit ein
Am im Forum: GUI: Windows-Forms

Das mit dem Thread ist eine gute Idee. Ich hätte noch eine andere, bist du dir sicher das du alle Control aufrufe Synchronisiert hast, daher mit Invoke aus dem GUI Thread heraus ausgeführt hast?

Desweiteren würde ich mal ein paar logs einbauen. Sprich immer beim tick event den Zeitstempel in eine log schreiben, und auch beim starten und beenden des Threads die Zeiten loggen. Eventuell siehst du dann schon die Überschneidungen auf die JuyJuka hingewiesen hat.

Thema: Quellcode nach fest codierten Strings durchsuchen und ersetzen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Die Antwort wurde dir bereits gegeben.

Zitat
Schnellersetzung (STRG + H)

Thema: [erledigt] object[] - Indexer Property
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Das ist relativ klar. Caste mal eins der inneren objekte auf object[] dann kannst du das auch via indexer ansprechen!

Thema: Generische Lösung für Threadsynchronisation
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wie gesagt

Zitat
Weil ich bin leider auf diese Version angewiesen!

Thema: Generische Lösung für Threadsynchronisation
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich steh grad bisschen auf den Schlauch. Meinst du soll dann das delegate so definieren?


object ExampleDelegate(object param1, object param2);

Desweiteren müsste ich für Properties ersteinmal eine extra Methode anlegen, die dann via delegate invoked werden kann. Oder kann ich Properties auch per delegate invoken, hab dazu bis jetzt noch nichts gefunden.

Thema: Generische Lösung für Threadsynchronisation
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Der Action delegate ist der schon seit .NET 2.0 drin? Weil ich bin leider auf diese Version angewiesen!

Thema: Generische Lösung für Threadsynchronisation
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo herbivore,

Zitat
Davon abgesehen hat InvokeRequired in der Berechungsmethode einer (Modell)-Klasse auf keinen Fall etwas zu suchen.

Das ist ein eigener ThreadSynchronizer. Der hat nix mehr der GUI zu tun, sondern mit der eigenen Persitenz. Mit generisch meine ich eigentlich nur das Invoken aller verschiedener MethodenSiganturen/Properties ohne für jede ein eigenes Delgate anzlegen.

Zitat
Könntest du die Berechnung nicht einfach immer im Thread ausführen lassen

Nein das kann ich nicht, wie ich bereits geschrieben habe
Zitat
(Warum das so ist sei mal dahin gestellt!)

Thema: Generische Lösung für Threadsynchronisation
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo zusammen,

ich suche derzeit nach einer schönen generischen Lösung für folgendes Problem. In einer klasse gibt es eine Methode die etwas berechnen soll. Diese greift Ihrerseits wieder auf andere Methoden andere Klassen/Object zu, entweder über Properties oder über Methoden.
Nun gibt es zwei möglichkeiten diese "Brechnungsmethode" aufzurufen. Einmal direkt, und einmal in einem separaten Thread. (Warum das so ist sei mal dahin gestellt!)

Nun müssen alle aufrufe die innerhalb der "Brechnungsmethode" aufgerufen werden synchronisiert werden, zumindets diejenigen die andere Klassen aufrufen (wenn die "Brechnungsmethode" in einem separaten Thread läuft). Nun hab ich keine Lust für alle diese aufrufe ein delegate zu definieren, und jedesmal zu schauen ob Invoke required ist.

Kennt jemand diesen UseCase bzw. hat einer eine Idee wie man sowas generisch lösen kann?

Ich hoffe ich konnte das Problem verständlich erläutern.

Thema: Labels über 2 Dimensionales Array ansprechen
Am im Forum: GUI: Windows-Forms

Hallo Lesat,

mein Tip zeichne das Schachbrett selber, und auch die Figuren. Das ist ertsens wesentlich performanter, und zweitens bist du so flexibler.

Thema: Text aus Textbox eines externen Programms (VC++ 6.0 MFC) lesen
Am im Forum: GUI: Windows-Forms

Ja sicher kommt die von zero_x gegebene Antwort auf deine Frage ohne Quellcode aus. Poste die besten Treffer doch einfach gleich hier im Thread.

Thema: Regex: Zeilen aus Excel-Zwischenablage
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo IhrWerbungHier,

ich verstehe deine Fragestellung nicht genau, was genau willst du erreichen.
Wenn du die " Zeichen entfernen willst dann schau dir mal die string.Replace Methode an.

Thema: Dll File zum Pdb File finden
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

GUID gefällt mir am besten. Ich schau mal wie ich das extrahieren kann, glaub der SymbolReader scheint gut geeignet zu sein.

Das mit dem Datum ist zwar eine Gute Idee, aber das kann man licht ändern :-)

Thema: Dll File zum Pdb File finden
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo zusammen,

ich hätte mal eine allgemeine Frage. Ich habe eine PDB Datei jedoch mehrere dll's in verschiedenen Versionen. Wie kann ich raus finden zu welcher dll die pdb Datei passt?

Irgendwie kann ich die Frage nicht so wirklich in google formulieren :-(

Thema: Debug Liseners eines anderen Prozesses Konfigurieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich habe es jetzt folgendermaßen gelöst. In das Verzeichnis wo die Assembly des externen Prozesses liegt habe ich eine config zur Laufzeit (vor dem starten des Prozesses) gelegt. Diese enthält folgenden Key.


<configuration>
  <system.diagnostics>
    <assert assertuienabled="false"/>
  </system.diagnostics>
</configuration>

Siehe auch hier.

Laut den ersten Tests scheint es zu funktionieren!

Thema: Debug Liseners eines anderen Prozesses Konfigurieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo zusammen,

ich habe ein Problem bezüglich Debug.Liseners! Aus einer meiner TestAssemblies wird ein neuer Prozess gestartet der dann auch getestet wird. Dieser externe Assembly feuert ihrerseits ein paar Assertions via Debug.Assert(). Ich möchte diese Assertions für diesen externen Prozess abschalten.

Daher im eigenen Prozess kann ich einfach via


System.Diagnostics.Debug.Listeners.Remove("Default");

den Lisenser removen. Aber das gilt dann nur für meinen eigenen Prozess. Die Assertions des externen Prozesses kommen weiterhin. Gibt es eine Möglichkeit über irgendeine Schnittstelle die Assertions des anderen Prozesses zu deaktivieren?

Danke im voraus!

Thema: Dynamisch Resource Strings erzeugen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo zusammen,

ich habe folgendes Problem. Und zwar werden an einer .NET Assembly zu Laufzeit resourcen geladen. Nun sind diese Resourcen aber leider nicht in der Assembly enthalten.

Ich wüsste aber zu Laufzeit welche strings ich returnen müsste. Jetzt meine Frage, kann man irgendwie dynamisch resourcen dazu binden, oder noch besser dynamisch returnen. Daher an der Assembly wird ja über den Resource Manager gefragt ob die Resource mit der entsprechenden ID existiert. Dort würde ich mich gern einklinken, und den entsprechenden Representanten zurück liefern.

Hat einer von euch eine Idee dazu?

Thema: Eigenem Programm durch zweite Instanz einen neuen Auftrag erteilen
Am im Forum: GUI: Windows-Forms

Stimmt herbivore,

das mit Mutex zu lösen ist natürlich der deutlich bessere Weg. Einfach einen eindeutigen Namen vergeben und beim Neustart schauen ob dieser Mutex schon existiert.

Thema: DataBinding - List <T> vs. DataTable
Am im Forum: GUI: Windows-Forms

Dann hab ich mich eventuell falsch ausgedrückt, die Aktualisierung und das Eventing übernimmt natürlich die Business Logic sofern vorhanden!

Thema: Eigenem Programm durch zweite Instanz einen neuen Auftrag erteilen
Am im Forum: GUI: Windows-Forms

Hallo maxwell86,

Zitat
Schöner wäre freilich in der ersten Instanz eine Aktion auslösen zu könnnen und das Starten der zweiten Instanz abzubrechen, aber da weiß ich leider auch nicht wie das geht.

Ich glaub das ist das eigentlich Ziel, denn dann musst du das aktuelle Program nicht mehr beenden, sondern schaust einfach ob eine Instanz aktiv ist und führst dann einfach die Aktion an der Instanz aus. Dafür denke ich wirst du um COM nicht rum kommen, daher handle besorgen und eine bestimmte message an die Intanz senden. Diese muss dann darauf reagieren und die gewünschte Aktion ausführen.

Thema: DataBinding - List <T> vs. DataTable
Am im Forum: GUI: Windows-Forms

Hallo cluening,

also kleine Ergänzung zu herbivore, das Interface INotifyCollectionChanged kannst du dann in deiner DAL dazu nutzen um die DB zu updaten!

Thema: Asynchrone Verarbeitung , damit das GUI nicht hängt, führt zu merkwürdigen Effekten
Am im Forum: GUI: Windows-Forms

Hallo DMW07,

ersteinmal noch ein paar Fragen zu deinem Problem. Von wo aus wird die Dispose ausgerufen und an welcher obigen Klasse? Die Exception deutet eindeutig darauf hin das du das Dispose aus einem Thread aufrufst der das besagte Object nicht erstellt hat!

Wenn du nun also nach dem ersten Upload erneut ein Screen addest, dann sagst du ja das Event kommt, hast du mal debugged ob dann auch ein neuer Thread erstellt wird und dieser dann auch gestartet wird?

Bau doch mal ein Event ein das gefeuert wird wenn der Thread beendet ist, dann siehst du auch ob die Updoad Methode ordnungsgemäß terminiert. Bezüglich des Multithreadings, kann es passieren das 2 Upload Methoden gleichzeitig ausgeführt werden?

Thema: [gelöst] Problem beim Casten eines TreeNodes auf eine abgeleitete Klasse
Am im Forum: GUI: Windows-Forms

Hast du meinen Post gelesen????

Du musst beim hinzufügen eine TreeView_ex Instanz hinzufügen!


mm_Form.treeView3.Nodes.Add(new TreeView_ex(...));

Thema: [gelöst] Problem beim Casten eines TreeNodes auf eine abgeleitete Klasse
Am im Forum: GUI: Windows-Forms

Also wenn du in deinen abgeleiteten TreeView mit Nodes.Add() wirklich deine eigenen TreeNodes rein steckst, dann kannst du die danach selbstverständlich auch casten. Wenn das aber natürlich gewöhnliche TreeNode nodes sind, dann ist es doch logisch das du die nicht einfach auf deine TreeNode Klasse casten kannst!

Thema: SortedList KeyNotFoundException, obwohl der Key sicher enthalten ist
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Oder versuch mal anstatt eines SortedDictionaries ein normales zu nehmen, wenn dann der Fehler nicht mehr Auftritt ist das was herbivore gesagt hat wohl der Fall!

Thema: Mutex createdNew immer false
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Danke für die Info mit dem ProzessExplorer. Den hatte ich zwar schon aber wusste gar nicht das der das kann!

Thema: Mutex createdNew immer false
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo zusammen,

ich habe eine Problem mit Mutex. Ich nutze eine zugelieferte Assembly und die nutzt ihrer seits Mutex. Ich versuch mal kurz das Problem zu erklären. Vor jedem aufruf einer methode dieser Zulieferung wird gecheckt ob der Mutex "einmalig" ist. Daher Legt die Instanz einen Mutex mit folgenden ctor an.


m_OneInstance=new Mutex(true,m_UniqueName,out m_IsOwned);

Das Problem ist das immer dort m_IsOwned == false zurück kommt, daher es gibt im System schon mal so einen Mutex. Dieser kann aber nicht von der Komponente angelegt worden sein, denn dann hätte ich es ja mit dem Breakpoint gesehen. Was ich nun will ist folgendes. Kann man irgendwie feststellen welcher Prozess diesen Mutex angelegt hat, eventuell sogar welche Klasse?

Ich hab sonst keine Ahnung wie ich heraus bekommen soll wann und wo der Mutex das ERSTE mal erstellt wird!

Thema: Delegate für enum return value
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Okay habs jetzt kappiert warum es mit Generics funktionieren würde. Nichts desto trotz kann ich kein


Func<bool> generics = delegate() { return true; };

definieren. Weil ich wie gesagt auf .NET 2.0 beschränkt bin. Und wenn ich das dann mit einem .NET 2.0 Compiler kompiliere, dann kommt die Meldung:
Zitat
The type or namespace name 'Func' could not be found (are you missing a using directive or an assembly refernece?)

Ich kann es vielleicht mit 2.0 nutzen, aber nicht mit 2.0 übersetzen, oder irre ich mich?

@herbovire
Zitat
bitte sowas immer selbst in der Doku nachschauen. Selbst wenn du nur die .NET 2.0-Doku installiert hast, online findet man auch für für neuere Framework-Versionen alles.
hast recht, da hätte ich vorher rein schauen sollen.

Thema: Delegate für enum return value
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat
2.0 kennt Generics und Delegates, was hält dich davon ab, dein eigenes Func<T> zu definieren?

Ich wüsste nicht wie ich das definieren soll!? Was ist Func für ein Typ? Ist das ein generisches delegate mit einem dynamischen Rückgabetyp?
Und wenn das so geht, dann gleich die nächste Frage, wieso kann ich dann dort not null-able typen rein stecken, und in ein statisches delegate vom typ rückgabetyp object nicht?

Thema: Delegate für enum return value
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi zommi,

das mit dem Func<T> ist ne gute Idee, geht leider nicht weil das m.E. erst ab .NET 3.0 geht, und wir sind hier ersteinmal auf 2.0 beschränkt.
Die convertion ist ne andere geschichte, da gibt es einen globalen life cycle, daher die entsprechende Komponente wir gefragt ob sie in einen entsprechenden DatenTyp wandeln kann, wenn ja wird sie gebeten einen converter zur Verfügung zu stellen. Das dictionary brauch ich nur um diese Komponente bisschen generisch zu halten.