Laden...
Avatar #avatar-3073.png
DavidT myCSharp.de - Member
Student Winterberg Dabei seit 30.05.2007 998 Beiträge
Benutzerbeschreibung

Forenbeiträge von DavidT Ingesamt 998 Beiträge

11.05.2009 - 19:58 Uhr

Super, vielen Dank vbprogger!

Gruß David

11.05.2009 - 19:18 Uhr

Hallo,

ich habe eine in Java geschriebene Klasse (die nicht auf Bibliotheken der Lib von Java zugreift) und möchte sie in C# Quelltext übersetzen. Gibt es da irgend ein Tool für? Ich meine in früheren .NET Versionen konnte man das in Visual Studio machen (also in J# übersetzen lassen) aber heute?

Gruß David

11.05.2009 - 15:18 Uhr

Hallo Telefisch,


static void Main(string[] args)
        {
            
            FileSecurity fs =  File.GetAccessControl(@"c:\setup.log");

            AuthorizationRuleCollection arc = fs.GetAccessRules(true, true, typeof (NTAccount));

            foreach (AuthorizationRule ar in arc)
            {
                Console.WriteLine(ar.IdentityReference + " + "+ar.InheritanceFlags+" + "+ar.IsInherited+" + "+ar.PropagationFlags);
            }

            Console.ReadKey();
        }

Gruß David

06.05.2009 - 22:49 Uhr

Nicht mit Boardmitteln von VS, allerdings gibts einige Plugins die das können (sorry, die namen hab ich grad net) Googel einfach mal, da müsste sich was finden lassen...

Gruß David

27.04.2009 - 09:53 Uhr

Am besten paste mal den Quelltext hier rein, warum es kanllt. Hast du denn eine logische Erklärung, warum das Objekt null ist? So pauschal kann man da nicht viel zu sagen, es kann an vielem liegen... Evtl. benutzt du Dateien in deinem Debugbuild die nur im Ordner des Release-Builds liegen, evtl. hast du teilweise bedingte Kompilierung drin... Kann vieles sein 😃

Gruß David

26.04.2009 - 21:24 Uhr

Ja, das hatte ich auch schon befürchtet... Mist!

Gruß David

26.04.2009 - 19:35 Uhr

Hallo herbivore,

Threading.Timer meine ich. Das habe ich auch schon versucht, allerdings wird der Name dann nur für die Rückrufmehtode gesetzt, wenn er im Elapse-Mode ist, hat der Thread den Namen nichtmehr.

Gruß David

26.04.2009 - 19:02 Uhr

Hallo,

gibt es eine Möglichkeit einem Timer mitzugeben, wie der von Ihm erstellte Thread heissen soll? Ich habe in meinem Projekt recht viele Threads und leider auch timer, beim Debug blickt da kaum noch jemand durch...

Gruß David

14.04.2009 - 17:30 Uhr

Hallo, also eigentlich solltest du die Komponenten auch nicht auf deinem mobilen Gerät testen sondern in einem seperaten Testkontext der unabhängig von allen Störeinflüssen ist... Also wenn ich dich richtig verstehe.

Gruß David

12.04.2009 - 19:56 Uhr

Gute Frage, wie regel ich das wenn die Events über die Layer-Grenze hinaus gefeuert werden?

Gruß David

12.04.2009 - 11:21 Uhr

Hallo,

es kommt natürlich ganz drauf an, was du damit machen willst, denke da gibt es keine pauschale Antwort. Es gibt hier auch genügend Leute die mit Notepad + csc + nmake entwickeln. Ich persönlich könnte mir die Entwicklung ohne den Klassendesigner nicht mehr vorstellen, auch die vielen Plugins die ich installiert habe (Plugins funktionieren in den Express Editions glaube ich nicht) machen die Entwicklung schon wesentlich einfacher und eleganter 😃

Gruß David

12.04.2009 - 11:13 Uhr

Auch wenn die Frage dumm ist, aber wie organisiert ihr die abgeleiteten EventHandler und EventArgs in den Projektmappen? In einer seperaten Datei? In der selben Datei? Als Nested Classes... gut, die Frage kann ich mir schenken 😛

Edit: Bin grad etwas in eile, später bastel ich mal ein Beispiel und ihr sagt mir das daran noch nicht stimmt wenn das ok ist...

Gruß David

11.04.2009 - 22:59 Uhr

Hallo,

ich bin über die letzten Tage sehr ins Grübeln gekommen, was Event / Delegates angeht.

zu Begin habe ich mir zu meinem Event immer einen eigenen Eventhandler geschrieben und den genommen... Das ist ganz toll, aber man braucht für jeden ist einen eigenen Eventhandler, das bläht das Projekt auf und macht es total unübersichtlich.


public delegate void MyDelegate(string muh, string foo);

public event MyDelegate MyEvent;

Dann bin ich durch Golos Guide2C# auf Action<T> bis Action<T1,T2,T3,T4> gestossen, von da an habe ich mir meinen eigenen Delegaten gespart und mir die Events einfacher definiert.


public event Action<string, string> MyEvent;

Nun habe ich es hier öfters gesehen (und offensichtlich empfiehlt MS es auch) das ganze mit eigenen EventArgs und dem generischen EventHandler<T> zu machen.


public event EventArgs<MyEventArgs> MyEvent

Okay.... Und was davon sollte ich nun nehmen? Was nehmt ihr?`Welche Vorteile und Nachteile gibt es bei den verschiedenen Verfahren?

Also ich persönlich finde die Variante mit Action<T> recht gut, allerdings sieht man von aussen dann keine Parameternamen mehr, man muss also jedes mal nachgucken was welcher Parameter war... Bei den eigenen EventArgs ist es super das man anchträglich in denn EventArgs einen Paramter hinzufügen kann ohne gleich alle Eventhandler anpassen zu müssen, allerdings blähen die einzelnen EventArgs meine Klasse wieder unnötig auf...

Gruß David

11.04.2009 - 22:51 Uhr

Beispiel was mit grad einfällt ist die SunGridEngine... Gibt es einige Anbieter die solche Software machen, einfach mal googeln.

Gruß David

11.04.2009 - 13:47 Uhr

Halo,

was genau verstehst du davon nicht?

Gruß David

11.04.2009 - 10:06 Uhr

Hallo,

hmm also die Streams arbeiten doch nach dem Dekorator-Pattern... Mein erster Ansatz wäre es, einen eigenen Dekorierer zu schreibenen, der nach öffnen des Streams einen Timer laufen lässt der mit Polling bestimmt, wann neue Daten da sind und dann ein Event auslöst.

Gruß David

11.04.2009 - 10:02 Uhr

Hallo Herbivore,

danach habe ich gestern auch gesucht, aber habe nichts gefunden. Schade eigentlich...

Gegenfrage: Gibt es eine Art "TabIndex" für die Platzhalter, dass ich festlegen kann ich welcher Reihenfolge die angesprungen werden?`

Gruß David

11.04.2009 - 00:19 Uhr

Hallo,

finde ich persönlich eine sehr gute Idee, benutze diese Snippets auch sehr oft und eine Sammlung wäre ideal. An dem Post von mir, der Stipo u.a. auf die Idee gebracht haben könnte, wo wir ein Snippet zu Eventmethoden gebastelt haben, sieht man das man oft nicht darauf kommt sowas elegant mit einem Snippet zu lösen.

Gruß David

10.04.2009 - 11:25 Uhr

Ich geb mich geschlagen 😃

Gruß David

10.04.2009 - 10:32 Uhr

Hey,
erstmal danke für eure Antworten. Ich hatte zwar an einen eleganteren Weg gedacht, wenn der Delegate des Events mehrere Paramter hat, aber ein Snippet tuts natürlich auch...


<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Keywords>
        <Keyword>Fire Event Method</Keyword>
      </Keywords>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
      <Title>EventFireMethod</Title>
      <Author>David Tielke</Author>
      <Description>Generiert eine Methode zum sicheren feuern eines Events</Description>
      <HelpUrl>
      </HelpUrl>
      <Shortcut>emethod</Shortcut>
    </Header>
    <Snippet>
      <Declarations>
        <Literal Editable="true">
          <ID>EventName</ID>
          <ToolTip>Name des Events</ToolTip>
          <Default>EventName</Default>
          <Function>
          </Function>
        </Literal>
      </Declarations>
      <Code Language="csharp"><![CDATA[/// <summary>
/// Fires the $EventName$ Event
/// </summary>
public void On$EventName$()
{
	if ($EventName$ != null)
		$EventName$();
}$end$]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

Das funktioniert soweit auch ganz gut, allerdings reagiert er nicht auf Enter sondern nur auf ESC, funktioniert aber auch gut 😉

Gruß David

P.S. Herbivore wenn wir das Anfänger-Snippet so reicht, poste ich es gerne im Snipped-Forum...

09.04.2009 - 20:57 Uhr

Hallo,

kennt ihr ein kostenloses Plugin für Visual Studio, das mir für ein Event eine OnXXX Methode generiert?

Also sowas:


private OnEvent()
{
   if(Event!=null)
      Event();
}

Das ist echt total blöde Tipparbeit...

Gruß David

09.04.2009 - 20:23 Uhr

...und da das .net framework keine möglichkeit bietet assemblies wieder freizugeben...

Kann man nicht Assemblies in einer seperaten AppDomain laden und wenn diese entladen wird, wird auch gleichzeitig die geladene Assembly entladen?!?!

Gruß David

08.04.2009 - 09:10 Uhr

Hallo,

Hab nochmals ein Problem mit Kind- und Elternklasen

Wenn du jetzt noch nen Link zu deinem ersten Post hinzufügen würdest, wüssten auch Leute bescheid die gerade erst dazu gekommen sind 😃

Was genau ist denn nun dein Fehler?

EDIT: Was hier vorher stand war Unsinn!


pirvate parent[] p = new parent[99];

p[i] = (child2)parent;
 

Offensichtlich heißt dein Datentyp und deine Variable gleich, ist das Absicht oder evtl. der Fehler?

Weiter solltest du bitte syntaktisch korrekten Code posten und nicht irgendwas frei Hand geschriebenes! Du wirst nicht gerade die Helfer anziehen wenn dein Code syntaktisch gesehen totaler schrott ist (sorry aber ist so, ich weiß nicht was an deinem Code ein Fehler ist bzw. was du aus versehen falsch geschrieben hast) und du weder eine Einleitung zu deinem Fehler beisteuerst noch eine genaue Fehlerbeschreibung.

Gruß David

02.04.2009 - 13:10 Uhr

Hallo,

ich habe fast alle meine Einstellungen einer Anwendung in der app.config und lade ensprechende Sections in unterschiedlichen modulen, Nun habe ich einen Eigenschaften-Dialog in dem ich alle Werte ändern möchte und sie anschliessend speichen möchte. Gibt es irgend eine möglichkeit, dass sich dann alle Module neu initialisieren können durch ein Event wie "ConfigurationChanged" oder so? Ich meine ich hätte letzte WOche in der MSDN durch Zufall ein Beispiel dazu gesehen, aber ich finde es nicht mehr wieder...

Gruß David

02.04.2009 - 09:54 Uhr

Hallo,

ich bitte dich für solche Fragen demnächst wie in [Hinweis] Wie poste ich richtig? Punkt 1.1 beschrieben, zunächst per Google selbst nachschlagen.

"chart control .net" unter Google liefert dir sehr gute ergebnisse, alternativ findest du ne menge dazu auf codeproject.

Gruß David

01.04.2009 - 23:33 Uhr

Ich habe MonoDevelop vorher nie ausreichend getestet, aber gab es da kein debugging?

Gruß David

01.04.2009 - 11:45 Uhr

Es stürzt direkt beim Start mit einer NullReferenceException in einem Modul ab, was sonst unter den Vista Rechnern und dem anderen XP Rehcner läuft, komischerweise kann ich mir da in dem "Fehlermelungsdialog" auch den Stacktrace nicht anzeigen lassen.

Gruß David

31.03.2009 - 18:41 Uhr

Hmmm ist das .NET Framework 2.0 nicht in 3.5 enthalten? Also in der Installationsdatei?

Gruß David

31.03.2009 - 18:28 Uhr

Hallo,

ich habe ein programm geschrieben, welches auf 2 Windows XP Rechnern installiert wurde. Auf dem Rechner auf dem nur .NET 3.5 installiert wurde, funktioniert die Software nicht, auf dem mit .NET 3.5 und .NET 2.0 funktioniert sie...

Ich habe heute Abend keine Möglichkeit mehr an bessere Informationen über den Fehler zu kommen, aber habt ihr eine Ahnung woran das liegen KÖNNTE?

Gruß David

31.03.2009 - 12:39 Uhr

Unter http://openbook.galileocomputing.de/oop/ steht die Neuauflage des Buches "Objektorientierte Programmierung" zum anschauen/downloaden bereit.

Weiss zwar nicht ob's in diese Rubrik gehört, aber in meinen Augen mit das beste Buch zu dem Thema.

Gruß David

30.03.2009 - 01:24 Uhr

Hallo,

ja du hastr recht, das XML-Dokument ist wirklich nicht valide, ich habe nur die relevanten Teile rauskopiert um euch ein 400-Zeilen Dokument zu ersparen.

Mittlerweile habe ich auch die Lösung zu meinem Problem gefunden, die Elemente in Pages dürfen nur <add....> heißen, dann funktioniert es...

Trotzdem danke für deie Hilfe 😃

Gruß David

26.03.2009 - 13:49 Uhr

Hallo,

ich muss in meinem Programm eine eigene ConfigSection implementieren, das tue ich folgendermaßen:


<configSections>
		<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
		<section name="LiveViewSettings" type="LiveView.LiveViewSection, LiveView"/>
	</configSections>
	<LiveViewSettings>
		<Pages>
			<Page name="hallo"/>
			<Page name="welt"/>
		</Pages>
	</LiveViewSettings>

dazu habe ich die folgenden 3 Klassen geschriben:


 /// <summary>
    /// Verwaltet Konfigurationsinformationen zum Modul "LiveView"
    /// </summary>
    public class LiveViewSection : ConfigurationSection
    {
        [ConfigurationProperty("Pages")]
        public Pages LiveViewPages
        {
            get
            {
                return (Pages)base["Pages"];
            }
        }
    }

    /// <summary>
    /// Verwaltet eine Collection von LiveViewPages
    /// </summary>
    public class Pages : ConfigurationElementCollection
    {
        protected override ConfigurationElement CreateNewElement()
        {
            return new Page();
        }

        protected override object GetElementKey(ConfigurationElement element)
        {
            return ((Page)element).Name;
        }
    }

    public class Page : ConfigurationElement
    {
        [ConfigurationProperty("name")]
        public string Name
        {
            get
            {
                return this["name"] as string;
            }
        }
    }

wenn ich nun versuche mein Programm zu starten, bekomme ich folgenden Fehler:

Unbekanntes Element "Page"

Was mache ich falsch? Ich probiere nun schon denganzen Tag herum, aber bekomme nichts hin... Irgendwoe ist das auch nirgendwo mal gescheit erklärt, entweder findet man Beispiele die einem nichts bringen oder die es genau so haben wie ich...

Hilfe... 😦

Gruß David

25.03.2009 - 14:51 Uhr

Genau da liegt der Hund begraben, nur weil es nirgens steht und du davon aus gehst das es erlaubt ist, muss es nicht zwangsläufig so sein. Ich persönlich wäre nicht erfreut wenn das mit meiner Seite gemacht würde.

Achja, was bitte in an einer Lösung mit WebRequest/XmlDocument & XPath nicht flexibel?

Gruß David

25.03.2009 - 13:39 Uhr

Was genau ist nun dein Problem? Das es zu langsam ist? In dem fall schau doch mal mit der StopWatch welche Operation (Bild laden, auf pixel untersuche, in FastBitmap umwandeln...) wie viel Zeit verursacht, dann haben wir das Problem ja schon mal eingegrenzt.

Gruß David

25.03.2009 - 11:52 Uhr

Was genau möchtest du denn realisieren?`Solltest evtl. dein Problem etwas genauer formulieren damit wir dir helfen können.

Gruß David

25.03.2009 - 11:50 Uhr

Wenn dein Programm zu langsam ist, solltest du uns evtl. mal an deiner Schöpfung teilhaben lassen 😃

Gruß David

25.03.2009 - 11:14 Uhr

So,
ich meine damit die http://de.wikipedia.org/wiki/GNU_Lesser_General_Public_License, gut meine Abkürzung war da nicht ganz korrekt.
Der Vergleich wurde evtl. auch etwas falsch kommuniziert, mir ging es darum das man nicht "auf Verdacht" rechtsannahmen treffen sollte, sondern sich vorher informieren sollte. Mein Vergleich mit LGPL bzw GPL bezog sich darauf, das wenn ich beispielweise einen Quelltext, der unter GPL steht, in mein kommerzieles Projekt einbinde, auch meine eigene Software unter GPL stellen muss, was vielen nicht bewusst ist und schon oft zu großen Problemen geführt hat.
Um einen weniger übertriebenen Vergleich zu machen, sein das Beispiel zititert, in der ein Junge die Bilder seiner Lieblingsband auf seine private Fanseite gestellt hat und die Eltern wochen später eine Klage am Hals hatten 😃

Gruß David

25.03.2009 - 11:08 Uhr

Ja stimmt, das habe ich nun leider auch feststellen müssen, vielen Dank trotzdem 😃

Gruß David

25.03.2009 - 10:29 Uhr

Hmm Latino,

natürlich ist der einsatz von OS (je nach Lizenz) bei kommerzieller Nutzung verboten! Wenn du in deinem Projekt eine GNU-Bibliothek einbindest und dein Produkt verkauft und eben nicht auch unter GNU stellst, ist das nicht erlaubt!

Die Daten auf der Website unterliegen offenbar keiner speziellen Lizenz

Es ist nicht meine Aufgabe für User hier im Forum Lizenzfragen zu klären, aus dem Grund habe ich nur angemerkt das er (zu seinem eigenen Sicherheit) sowas vorher klären soll weil es eben nicht immer legal ist wie du es hier behauptest, weil diese Daten eben auch unter einem Schutz stehen!

Gruß David

25.03.2009 - 10:09 Uhr

@LaTino
Mit genau welcher Begründung sollte es verboten sein OpenSource Software im kommerziellen Umfeld einzusetzen?

@EnterTheMatrix: Schau dir zunächst an wie man Webseiten mit WebRequest und WebResponse holt, dann schau dir die Klasse XmlDocument genauer an, besonders die methoden SelectNode bzw. SelectNodes und dann solltest du dich (falls du es noch nicht kannst) kurz in XPath einarbeiten.

Gruß David

25.03.2009 - 09:49 Uhr

Hallo,

zuerst mal, hast du vorher geklärt, ob das alles auch erlaubt ist, was du da machst?

Einfach die Webseite per WebRequest holen, in ein XmlDocument laden und dann mit XPath die gewünschte Information rausholen, sollte eine Sache von 5 Min sein.

Gruß David

25.03.2009 - 09:47 Uhr

Hallo,

besonders am Anfang kann ich auch den BackgroundWorker nur empfehlen, da du dir da keine Sorgen machen musst um Invoke & Co.

Gruß David

24.03.2009 - 21:00 Uhr

Hallo,

ich bin mir nicht sicher ob ich dein Problem richtig verstehe, aber warum machst du nicht einfach serialPort1 = new ... ?

Gruß David

24.03.2009 - 20:46 Uhr

Hallo,
ich versuche (in einem Testprojekt) meine Anwendungseinstellungen zu speichern. Ich tue dies in einer Klasse die vom ApplicationSettingsBase ableitet:


class PropertySettings : ApplicationSettingsBase
    {
        [ApplicationScopedSetting]
        [DefaultSettingValue("120,120")]
        [Description("Größe des angezeigten Rechteckes")]
        [Category("Platzierung")]
        public Size Größe
        {
            get { return (Size)this["Größe"]; }
            set { this["Größe"] = value; }
        }

        [ApplicationScopedSetting]
        [DefaultSettingValue("20,20")]
        [Description("Position des angezeigten Rechtecks")]
        [Category("Platzierung")]
        public Point Position
        {
            get { return (Point)this["Position"]; } 
            set { this["Position"] = value; }
        }

        [ApplicationScopedSetting]
        [DefaultSettingValue("255,255,0")]
        [Description("Hintergrundfarbe der Arbeitsfläche")]
        [Category("Farben")]
        public Color Background
        {
            get { return (Color) this["Background"]; }
            set { this["Background"] = value; }
        }

        [ApplicationScopedSetting]
        [DefaultSettingValue("255,0,0")]
        [Description("Farbe des gezeichneten Rechtecks")]
        [Category("Farben")]
        public Color Foreground
        {
            get { return (Color) this["Foreground"]; }
            set { this["Foreground"] = value;}
        }
    }

An dieser Stelle nutze ich NICHT den Einstellungsdesigner von VS, da ich die Config-Klasse später bequem in einem propertyGrid ändern möchte, ich jedoch die Attribute Description und Category nicht in den Designer-generierten Code eintragen kann, ohen das sie direkt wieder gelöscht werden.

Die Klasse benutze ich nun in einer Form in der ein Rechteck gezeichnet wird:


public partial class Form1 : Form
    {
        private PropertySettings _settings = new PropertySettings();
        
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            propertyGrid1.SelectedObject = _settings;
        }

        private void panel1_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.FillRectangle(new SolidBrush(_settings.Background), panel1.ClientRectangle);
            e.Graphics.FillRectangle(new SolidBrush(_settings.Foreground),
                                     new Rectangle(_settings.Position, _settings.Größe));
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            _settings.Save();
        }
    }

Das funktioniert soweit alles, wenn ich in meinem PropertyGrid eine Einstellung ändere, wird sie auch sofort übernommen.
Wenn ich allerdings die Anwendung neu lade, stehen alle Settings wieder bei der Default-Value von vorher.

Was mache ich falsch?

Gruß David

24.03.2009 - 11:17 Uhr

...

WIe blöd kann ein einzelner Mensch sein bitte? 😄

Vielen Dank, da hab ich den Wald vor lauter Bäumen nicht sehen g

Gruß David

24.03.2009 - 11:01 Uhr

Hallo,

wenn ich im Visual Studio z.B: bei einem Winform im Eigenschaften-Fenster etwas einstelle, habe ich ja dieses Tabellenähnliche Control. Wie heißt das und gibt es das irgendwo in den std. WInForms-Komponenten? Finde dazu irgendiwe gar nicht! Danke.

Gruß David

21.03.2009 - 14:21 Uhr

Ui, gute Idee floste 😃

Ja, so würde ich es sagen 😃

Gruß David

21.03.2009 - 13:53 Uhr

Wenn A sich bei B anmeldet, hat B eine Referenz auf den Eventhandler von A, also auch auf A selber. Wenn B nun serialisiert wird, SOLLTE eigentlich auch A serialisiert werden.

Gruß David

20.03.2009 - 21:53 Uhr

Hallo,

eigentlich sollte der Serialisierer das nur tun, wenn dein Objekt eine Referenz auf das ListView-Control hat. Sicher das es das nicht irgendwo hat?

Gruß David

19.03.2009 - 09:47 Uhr

Setz mal in die Zeile im try-Block nen Breakpoint, brwose in irgend ein teifes Verzeichnis un kopiere mal den Pfad-String hier rein.

Gruß David