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 miketech
Thema: Dynamisch Klasse aus Code erstellen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ah das wars! Danke!

Gruß

Mike

Thema: Dynamisch Klasse aus Code erstellen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi zusammen,

ich habe mal gehört, dass es mit .NET möglich ist dynamisch eine Klasse aus Code zu generieren. D.h. ich gebe in irgendeiner Form Quellcode an und dann kann ich mit C# daraus eine Klasse erstellen, die ich dann direkt verwenden kann. Weiß da jemand, was das sein könnte?

Gruß

Mike

Thema: System.Timers.Timer immer neustarten?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Was mir auch grad noch einfällt: Wenn ich myTimer.Stop() aufrufe und myTimer.Start() führt das aber zu keinem Fehler und der Timer läuft wieder. Kann das sein? Wenn der GC myTimer gelöscht hätte müsste das doch zu einem Fehler führen, oder?

Es ist tatsächlich so, dass sich in meinem Programm aber Zyklen befinden. Also A referenziert B und umgekehrt. Hier darf keines der Objekte jemals gelöscht werden. Vielleicht erklärt das die mysteriösen Fehler, die ich zur Zeit bekomme. Setz ich GC.KeepAlive dann jeweils in den Destruktor der Objekte? Also in A ein KeepAlive(b) in den Destruktor von A und genauso umgekehrt?


Gruß

Mike

Thema: System.Timers.Timer immer neustarten?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

klar bin schon dabei. Ich versuch nur auch ein bisserl den Background davon zu verstehen, danke.

Gruß

Mike

Thema: System.Timers.Timer immer neustarten?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

ok also muss ich den Timer wohl nicht neustarten, danke Das komische ist:

Also ich habe definitiv eine Referenz auf den Timer. Also zumindest auf die Klasse, wo der Timer steckt und diese hat eine private Variable mit dem Timer. Somit dürfte der GC die ja nicht wegräumen, oder?

Gruß

Mike

Thema: System.Timers.Timer immer neustarten?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi zusammen,

ich habe in meinem Programm eine System.Timers.Timer, welcher alle X Millisekunden ein Event auslöst. Das funktioniert auch immer ganz gut, aber nach einer Zeit scheint er kein Event mehr auszulösen. Ich finde hierfür auch kein Muster. Ich hab eine Multithreading - Anwendung und habe schon überlegt, ob hier irgendwo ein Fehler auftritt und sich vielleicht der Timer - Thread verabschiedet. Aber jetzt ist mir noch eine andere Idee gekommen:

Wenn ein Timer ein Event wirft, weil die Zeit abgelaufen ist, muss ich dann den Timer wieder neu mit Start() starten? Oder macht er das immer automatisch? Im Moment macht er es zwar automatisch, aber hört nach einiger Zeit wohl damit auf.

Oder hat jemand irgendeine Idee, woran das liegen kann?


Gruß

Mike

Thema: Windows System Sounds deaktivieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

weiß jemand, ob und wie ich die Windows System Sounds abschalten kann? Über irgendeine Windows API müsste das doch möglich sein, aber ich finde nichts dazu.

Ich hab mittlerweile rausgekriegt, dass man mit System.Media.SystemSounds zumindest die Windows Signaltöne abspielen kann, aber nicht, wie ich sie alle deaktivieren kann.

Ist auch nur temporär, die schalte ich dann wieder an

Gruß

Mike

Thema: Klickgeräusch im Webbrowser
Am im Forum: Netzwerktechnologien

Hi zusammen,

es gibt ja in .NET diese Webbrowser Komponente, die wahrscheinlich mit dem Internet Explorer im Hintergrund arbeitet. Jetzt habe ich das Problem, dass immer, wenn ich eine Seite ansteuere gibt es so einen komischen Klick, wie wenn ich im Internet Explorer, auf eine Seite surfe. Kann ich das irgendwie abschalten? Also nur für mein Programm. Oder muss man das unbedingt in den System Einstellungen von Windows abändern?

Gruß

Mike

Thema: Bitmap und HttpListenerResponse
Am im Forum: Netzwerktechnologien

Prima danke! Damit funktionierts.

Gruß

Mike

Thema: Geschicktes Ersetzen von Mustern
Am im Forum: Rund um die Programmierung

Ah klasse, danke!

Gruß

Mike

Thema: Geschicktes Ersetzen von Mustern
Am im Forum: Rund um die Programmierung

Hm und kann ich das irgendwie umgehen? Oder kann ich andere Platzhalter einfügen, die dann ersetzt werden? Also das obige Beispiel mit Replace macht halt Probleme, wenn z.B. in %A% auch ein %B% enthalten ist, weil das dann wieder ersetzt wird. Das möchte ich gerne vermeiden.

Gruß

Mike

Thema: Geschicktes Ersetzen von Mustern
Am im Forum: Rund um die Programmierung

ja sorry.

<HTML>
	<HEAD>
	
	<script type="text/javascript">
	<!--
	
	
	function setTitle(title) {
		top.document.getElementById("title").innerHTML = title;
	}	
	
	function refresh() {
		var artist = "{0}";
		var title = "{1}";
		var album = "{2}";
		
		setTitle(title);
	}
	//-->
	</script>
	
	
	</HEAD>
	<BODY OnLoad="javascript:refresh();" bgcolor="#000099"></BODY>
</HTML>

Das ist der String.


Gruß

Mike

Thema: Geschicktes Ersetzen von Mustern
Am im Forum: Rund um die Programmierung

Hi,

danke für den Tipp. Also mit string.Format habe ich es jetzt mal versucht, funktioniert in einem Beispiel auch ganz gut. Nun wollte ich einen etwas komplexeren Text ersetzen und erhalte nun:


System.FormatException: Die Eingabezeichenfolge hat das falsche Format

Was könnte denn der Grund hierfür sein? Ich habe einfach ein Stück JavaScript Code, wo {0} und {1} usw. vorkommen und möchte die einfach ersetzen.

Gruß

Mike

Thema: Bitmap und HttpListenerResponse
Am im Forum: Netzwerktechnologien

Hi zusammen,

ich experimentiere zur Zeit mit dem HttpListener und in diesem Zusammenhang mit HttpListenerResponse rum. Nun habe ich das Problem, dass ich gerne über den Browser über eine bestimmte URL ein Bild anzeigen lassen, um genau zu sein ein Png, welches ich in meinen Resourcen habe. Unabhängig davon ist es einfach ein Bitmap welches ich anzeigen möchte. Das hier ist mein aktueller Versuch:


                response.ContentType = "image/png";
                Bitmap logo = global::Webservice.Properties.Resources.WFLogo;
                logo.Save(response.OutputStream, System.Drawing.Imaging.ImageFormat.Png);
                response.ContentLength64 = Encoding.UTF8.GetBytes(logo.ToString()).Length;
                response.OutputStream.Close();

So, das geht nur leider überhaupt nicht Leider finde ich auch sonst keine Informationen dazu, wie ich das am besten mache. Hat jemand eine Idee?

Gruß

Mike

Thema: Geschicktes Ersetzen von Mustern
Am im Forum: Rund um die Programmierung

Hi zusammen,

habe folgendes Problem: Ich habe einen String mit bestimmten Platzhaltern.

"Das %A% ist ein %B% Test."

Nun möchte ich an den Stellen von %A% und %B% weitere Strings einsetzen. Das Problem ist, wenn ich das mit Replace mache und zuerst %A% und dann %B% ersetze: Ist in %A% auch wieder %B% enthalten wird das anschließend auch ersetzt. Das möchte ich gerne verhindern. Wie gehe ich denn da am geschicktesten vor? Muss ich mir da Positionen merken, was ich bereit ersetzt habe? Oder gibt es da was schönes in C#?

Gruß

Mike

Thema: Invoke und lock
Am im Forum: GUI: Windows-Forms

Ok, alles klar. Danke

Gruß

Mike

Thema: Invoke und lock
Am im Forum: GUI: Windows-Forms

Hm, kann ich sowas in Visual Studio automatisch anzeigen lassen? Oder mach ich das auf die gute alte Methode und lass mir irgendwelche Meldungen ausgeben?

Gruß

Mike

Thema: Threads und Timer
Am im Forum: GUI: Windows-Forms

Hi,

tatsächlich, hier lag wohl das Problem. Mit System.Timers.Timer funktioniert es. Danke!

Gruß

Mike

Thema: Invoke und lock
Am im Forum: GUI: Windows-Forms

Hm, das ist echt merkwürdig. Denn ich habe definitiv nur ein lock, um eine Methode. Und die wird nur gestartet, wenn ich auf einen bestimmten Button klicke, ansonsten nicht. D.h. es kann eigentlich gar keinen zweiten Aufruf der gelockten Methode geben. Ich werde nochmal alles durchsuchen.

Gruß

Mike

Thema: Threads und Timer
Am im Forum: GUI: Windows-Forms

Hi,

das ist ja interessant, so habe ich es noch gar nicht betrachtet. Also ich erzeuge den Timer schon im GUI-Thread, aber Start() führe ich woanders aus. Macht das dann auch noch Probleme?

Gruß

Mike

Thema: Invoke und lock
Am im Forum: GUI: Windows-Forms

Hi,

danke für den Tipp. Ich habe nun alle Invokes durch BeginInvoke ersetzt und nun funktioniert es. Aber ich verstehe absolut nicht, wieso das passiert. Die Methode wird definitiv nicht zweimal aufgerufen, habe das auch mit Breakpoints überprüft. Wenn dann muss irgendwo anders ein Lock liegen. Kann sowas sein? Ich führe ja immer lock (this) aus. Machen das andere Methoden vielleicht auch, ohne dass ich das mitbekomme?

Gruß

Mike

Thema: Invoke und lock
Am im Forum: GUI: Windows-Forms

Hi,

ich arbeite zur Zeit viel mit Threads und nutze dementsprechend auch häufig invoke.

Jetzt habe ich um eine Methode mal ein lock (this) gebaut, um die Methode zu synchronisieren. Auf einmal fliegt mir mein ganzes Programm um die Ohren Es scheint nicht wirklich einen Deadlock zu geben, weil die Methode wird definitv nur einmal aufgerufen. Ein Problem scheint viel mehr beim Invoke aufzutreten. Hat jemand eine Idee, was hier Probleme machen kann? Gibt es mit lock und Invoke irgendwas zu beachten?

Oder macht lock (this) Probleme?

Bin etwas ratlos, weil es wie gesagt kein Deadlock ist, sondern er bei Invoke irgendwie hängt.

Gruß

Mike

Thema: Threads und Timer
Am im Forum: GUI: Windows-Forms

Hi,

habe folgendes Problem: Ich habe eine Klasse A und eine Klasse B.

Klasse A hat einen Timer T und eine Methode M. In M wird der Timer T gestartet, welcher regelmäßig ein Event feuert, bei dem sich B registriert hat.

Nun starte ich aus B die Methode M und erhalte regelmäßig das Event.


Wenn ich nun aber die Methode M in einem extra Thread starte erhalte ich keine Events mehr. Ich erkläre mir das ja so:

M startet ja nur den Timer und ist dann fertig. Wird dafür ein neuer Kind-Prozess erzeugt? Wenn M zurückkehrt wird der Thread beendet und somit auch der Timer-Prozess. Ist das so korrekt? Oder hab ich was übersehen?

Jetzt kann es ja sein, dass ich in meinem Programm ein Modul verwende, wo ich nicht weiß, dass es einen Timer aufruft. Ich führe einfach die Methode in einem extra Thread aus und werde später irgendwann überrascht sein, weil es nicht funktioniert. Wie macht man das dann für gewöhnlich? Der Timer läuft ja endlos und außerdem in einem extra Thread. D.h. ein Join bringt gar nichts. Oder sind das eben Dinge, die ich wissen muss, wenn ich eine andere Methode verwende?


Gruß

Mike

Thema: Interfaces und Delegates/Event
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

ich habe folgendes Interface:

public interface IPlaylist : IList<ISong>

und folgendes Delegate und Event:

delegate void PlaylistChangedHandler(IPlaylist playlist);
event PlaylistChangedHandler PlaylistChangedEvent;

Wenn ich nun das Event aufrufe:

private void DoSomething(IPlaylist list) {
PlaylistChangedEvent(list);
}

erhalte ich leider eine Fehlermeldung, weil list wohl keine Instanz von Object ist. Was muss ich denn hier ändern? Muss IPlaylist noch von irgendwas anderem erben? In list befindet sich ein Object vom Typ Playlist, welches das Interface IPlaylist implementiert. Muss ich das vielleicht nach object casten?

Gruß

Mike

Thema: Textfile aus Resources öffnen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

erstmal danke für die Tipps. Was sind denn eingebettete Dateien, die nicht in meiner Resourcen-Datei sind? Heißt das, dass ich die einfach nur als Datei in den Ordner schmeiße und nicht als Resource hinzufüge?

Gruß

Mike

Thema: Textfile aus Resources öffnen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

ich hab in meinen Resources ein Textfile und möchte gerne dessen Inhalt abfragen. Wie mach ich das denn am besten? Also ich bin jetzt so weit:


System.Resources.ResourceManager rm =
new System.Resources.ResourceManager(this.GetType().Namespace + ".Properties.Resources", this.GetType().Assembly);

object tpl = rm.GetObject("WFMainTPL");

Nur jetzt steh ich grad aufm Schlauch. Wie öffne ich denn nun dieses Objekt? Ist das ein File-Objekt, oder was hab ich da nun?

Gruß

Mike

Thema: Eigenes Event in Interface
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

habe folgendes Problem:

Ich habe folgendes Event inkl. Delegate:

public delegate void PlayHandler(int i);
public event PlayHandler PlayEvent;

Jetzt möchte ich das gerne in ein Interface auslagern:

public interface Irgendwas {
event PlayHandler PlayEvent;
}

Das funktioniert nicht, weil er PlayHandler nicht kennt. Was nehm ich denn dann?

public interface Irgendwas {
event EventHandler PlayEvent;
}


Das hab ich gefunden. Aber wenn ich das nehme meckert er, dass ich ja "event PlayHandler PlayEvent" implementiert habe, wenn ich das Interface implementiere und nicht "event EventHandler PlayEvent"

Weiß jemand, wies richtig sein müsste?

Gruß

Mike

Thema: Zyklische Abhängigkeiten
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

naja das Konzept passt eigentlich schon, würde ich sagen. Die Komponenten sind halt nur sehr stark miteinander verzahnt.

Gibt es da keine Möglichkeit?

Gruß

Mike

Thema: Zyklische Abhängigkeiten
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ich habe folgendes Problem:

Ich habe zwei Projekte A und B.

Projekt B wird zu einer Dll und von A eingebunden.

A benutzt Klassen aus B.

Soweit kein Problem.

Jetzt ist es aber so, dass ich in Klassen aus dem Projekt B auch Klassen aus A benötige. Wenn ich nun A in B einbinde, nachdem ich ja B in A eingebunden habe meckert der Compiler, da es wohl zu zyklischen Abhängigkeiten kommt.

Hat jemand eine Idee, wie ich das lösen kann? Muss ich B unbedingt als Projekt in A integrieren, oder kann ich weiterhin Dlls nutzen?

Gruß

Mike

Thema: Unterschiede Delegates und Events
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Achso ok, aber das Delegate muss ich vorher schon noch extra definieren, kann das nicht durch das Event automatisch miterledigen lassen, oder?

Also erstmal:

delegate X;
event X OnX;

Muss ich delegate X public machen, oder kann ich das private machen?

Gruß

Mike

Edit: Bei einem Delegate sind += und -= aber doch auch schon definiert. Also gibt es bis auf die Zugriffsberechtigung keinen Unterschied, oder?