Laden...

Forenbeiträge von masterchris_99 Ingesamt 89 Beiträge

14.06.2012 - 15:35 Uhr

Hallo,

ich will kurz umschreiben was mein Problem ist. Ich habe ein Programm welches einige Arbeiten async in einem eigenen Thread macht. Zusätzlich habe ich ein paar Timer und DoEvents Aufrufe.

Das eigentliche Problem ist nun dass das Programm aus Visual Studio heraus super funktioniert. Keinerlei Probleme. Starte ich es nun aber aus dem Explorer heraus bleibt es alle x Minuten einfach hängen ohne Exception oder so.

Details können meinem Eintrag bei Stackoverflow entnommen werden.

Application freezes outside of Visual Studio. While starting it from Visual Studio it works

Wenn diese vorgehensweise unerwünscht ist bitte kurz eine PM dann übersetze ich mein mageres Englisch nochmal ins deutsche 😃

Ich habe nun schon per WinDbg nach Deadlocks gesucht aber keine gefunden. Ich hoffe ihr könnt mir etwas weiterhelfen da ich kein bisschen mehr durchsehe.

Gruß Chris

24.05.2012 - 14:09 Uhr

Hallo,

also meine Ausgangslage:

  1. Ich bin eine COM-Komponente
  2. Ich bekomme in einer Methode eine COM-Komponente rein und verwende diese
  3. Wenn ich nur über folgende Attribute als normale COM-Komponente erstellt werde funktioniere ich auch:
[ClassInterface(ClassInterfaceType.None), ComSourceInterfaces(typeof(ITest)), ComVisible(true), Guid(ClassId)]
  1. Sobald ich mich als Singleton ExeCOMServer bereitstelle bekomme ich diesen Fehler:

Fehlermeldung:
Das COM-Objekt des Typs "AppsScriptLib.AppsScriptRunningContextClass" kann nicht in den Schnittstellentyp "AppsScriptLib.IAppsScriptRunningContext" umgewandelt werden. Dieser Vorgang konnte nicht durchgeführt werden, da der QueryInterface-Aufruf an die COM-Komponente für die Schnittstelle mit der IID "{4D2E5723-87C2-49C1-AA28-ED2D88275100}" aufgrund des folgenden Fehlers nicht durchgeführt werden konnte: Schnittstelle nicht unterstützt (Ausnahme von HRESULT: 0x80004002 (E_NOINTERFACE)).

Ich gehe also davon aus dass das Problem bei diesem Execomserver liegt.
Ich verwende dieses Design Pattern:
Module Name: ExeCOMServer.cs

Wie gesagt: Verwende ich nicht diesen ExeComServer funktioniert alles mit dem übergebenen AppsScriptLib.AppsScriptRunningContext

Ich denke das der Hund irgendwo in diesem Teil begraben liegt habe da aber keine Idee:

int hResult = COMNative.CoRegisterClassObject(
                ref clsidSimpleObj,                 // CLSID to be registered
                new MainAppClassFactory(),     // Class factory
                CLSCTX.LOCAL_SERVER,                // Context to run
                REGCLS.MULTIPLEUSE | REGCLS.SUSPENDED,
                out _cookieSimpleObj);

mfg Chris

05.03.2012 - 12:56 Uhr

Hi,

danke für die Info das würde mir aber nicht helfen wenn ich das Projekt in einer Solution verweise, oder?

Alle anderen Projekte dieser Solution sind z. B. 4.0 und mein spezifisches Projekt ist 3.5

05.03.2012 - 10:40 Uhr

Hallo,

ich habe ein allgemeines Projekt welches von vielen anderen Programmen verwendet wird. Dieses Projekt (Klassenbibliothek) würde ich gerne in Version 3.5 und 4.0 anbieten.
Das Das Projekt in jeder Solution eingebettet wird müsste das irgendwie konfigurierbar oder so sein.

Aktuell mache ich es so das es eine Kopie der csproj Datei gibt bei der das Target-Framework geändert wurde. Problem ist halt das man jede Änderung in beiden Projektdateien eintragen muss.

mfg Chris

03.01.2012 - 09:42 Uhr

Hallo,

ich benötige für eine Drittsoftware einen COM Server der durchgehend läuft. Wenn das COM Objekt von aussen erzeugt wird soll dieses sich die laufende Instanz nehmen.

Erzeugt wird es z. B. so:

Dim myCom
Set myCom = Nothing                                                   
Set myCom = CreateObject("MyCom.Application")
myCom.DoAction

Es ist so dass der COM Server selber eine Verbindung erzeugt bei der der Aufbau recht lange dauert. Da ich diese Verbindung dauerhauft aufgebaut haben möchte muss es irgendwie als Dienst oder so funktionieren. Aber wie bekomme ich es hin das beim Erzeugen meines Objektes auf die laufende Instanz zugegriffen wird. Dies müsste theoretisch innerhalb des COM Objektes funktionieren denn das habe ich schon mal irgendwo gesehen.

Gruß Chris

07.11.2011 - 12:22 Uhr

[ComVisible(true)] vererbt sich nicht automatisch wie von mir angenommen auf die Unterobjekte sondern muss für jede Klasse explizit hinzugefügt werden.

    [ComVisible(true)]
    public class AAA
    {
        public BBB Bbb { get; set; }
    }

    [ComVisible(true)]
    public class BBB
    {
        public CCC Ccc { get; set; }
    }

    [ComVisible(true)]
    public class CCC
    {
        public string MyString { get; set; }
    }
07.11.2011 - 09:58 Uhr

So da es hier zu einigen Unstimmigkeiten kam.

Alle Objekte sind korrekt erzeugt und aus dem normalen Code komplett erreichbar! Das Problem tritt nur im Zusammengang mit dem Scripting-Host auf.

Ich habe schnell mal ein Beispielprojekt erzeugt um alles zu testen.

MSScriptControl.ScriptControlClass js = new MSScriptControl.ScriptControlClass();
            AAA myObject = new AAA();
            myObject.Bbb = new BBB();
            myObject.Bbb.Ccc = new CCC();
            myObject.Bbb.Ccc.MyString = "BlaBliBlub";
            
            js.AllowUI = false;
            js.Language = "JScript";
            js.Reset();

            js.AddObject("MyObject", myObject, false);

            js.AddCode(richTextBox1.Text);

            object[] parms = new object[] { 13 };
            //int result = (int)js.Run("test", ref parms);
            //bool result2 = (bool)js.Run("test2", ref parms);
            //string result3 = (string)js.Run("test3", ref parms);

            bool objectIsNull = (myObject.Bbb.Ccc == null);
            MessageBox.Show((objectIsNull) ? "Objekt ist Null" : "Objekt ist nicht Null");
            MessageBox.Show(myObject.Bbb.Ccc.MyString);

            try
            {
                string result = (string)js.Run("Result", ref parms);
                richTextBox2.Text = result;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
    [ComVisible(true)]
    public class AAA
    {
        public BBB Bbb { get; set; }
    }

    public class BBB
    {
        public CCC Ccc { get; set; }
    }

    public class CCC
    {
        public string MyString { get; set; }
    }

Dieser Teil zeigt mir auch dass das Objekt nicht NULL ist und erreichbar:

            bool objectIsNull = (myObject.Bbb.Ccc == null);
            MessageBox.Show((objectIsNull) ? "Objekt ist Null" : "Objekt ist nicht Null");
            MessageBox.Show(myObject.Bbb.Ccc.MyString);
07.11.2011 - 08:55 Uhr

Die Unterklassen sind natürlich auch erzeugt und mein obiger Code stellt nur ein Beispiel dar da ich meinen eigentlichen Problemquellcode hier nicht zeigen kann/möchte.

Zumal mein Beispielcode auch korrekt sein kann denn ich übergebe das Objekt ja nur an den Scripthost. Wie das Objekt erzeugt wird sieht man hier ja gar nicht.

Aber der vollständigkeitshalber mal kurz zusammgeschrieben:


AAA myObject = new AAA();
myObject.Bbb = new BBB();
myObject.Bbb.Ccc = new CCC();
07.11.2011 - 08:36 Uhr

Hallo,

ich möchte in dem genannten ScriptHost auf Unterklassen zugreifen bekomme aber immer die Meldung dass, das Objekt null oder kein Objekt ist. Wenn ich direkt auf Properties des Hauptobjektes zugreife geht alles wunderbar. Nur bei den Unterobjekten bekomme ich es nicht hin. Ich denke aber der Code stellt es besser dar als meine Beschreibung... 😃

MSScriptControl.ScriptControlClass js = new MSScriptControl.ScriptControlClass();
js.AllowUI = false;
js.Language = "JScript";
js.Reset();
js.AddObject("MyObject", myObject, false);

class AAA
{
    public BBB Bbb { get; set; } 
}

class BBB
{
    public CCC Ccc { get; set; }
}

class CCC
{
    public string MyString { get; set; }
}

Und das würde ich gerne machen:

var x = MyObject.Bbb.Ccc.MyString;
05.10.2011 - 14:52 Uhr

hmm installiert wurde nichts. habe nur etwas beim resharper angepasst. das war aber eigentlich nur die Refactor Methode aus dem Editor heraus. Im Notfall muss ich den Resharper einfach mal zurücksetzen und gucken ob es weg ist.

Edit:

So das ist es. Wenn ich das zurück auf Visual Studio stelle geht es wieder.

05.10.2011 - 14:30 Uhr

Hallo,

wenn man die "Strg" Taste drückt und dann mit den Pfeilen nach links oder rechts drückt kann man ja normalerweise Wörter überspringen. Ich hoffe ihr wisst was ich meine... 😁

Jetzt ist es so das dieses "Feature" seit gestern nicht mehr geht und mir ganz schön zu schaffen macht. Ich habe keine Ahnung wo ich das deaktiviert haben sollte.

Ausserhalb von Visual Studio funktioniert es ganz normal in allen editierbaren Bereichen.

Ich benutze Visual Studio 2010 mit Resharper 6
Im Visual Studio 2008 mit Reshaper auf dem gleichen PC habe ich keine Probleme.

mfg Chris

25.07.2011 - 11:12 Uhr

Danke für den Hinweis. Das hat mir schon mal sehr gut weitergeholfen.
Nun brauche ich nur noch einen Workaround... 😃

Das sieht ganz gut aus:
What UserAgent is reported by the WebBrowser control?

So gerade getestet und es geht mit dem Registry-Eintrag

25.07.2011 - 09:38 Uhr

Hallo,

wenn ich ein WebBrowser Control auf meine Form ziehe und z. B. auf die Webseite http://www.businessdeutschland.de navigiere dann kann ich die Schaltfläche "Erweiterte Suche" nicht verwenden. Dahinter steckt ein Javascript welches ein DIV oder so toggelt.

Klicke ich im Control diese Schaltfläche an lädt die Seite einfach neu. Sie führt also nicht das Javascript aus. Dazu ist nichts programmiert oder so. Ich will einfach nur das der Anwender diese Schaltfläche wie in einem normalen Browser anklicken kann.

P.S.

  1. im normalen IE geht es ohne Probleme
  2. ScriptErrorsSupressed habe ich schon mit False oder True probiert

Chris

13.07.2011 - 13:03 Uhr

ja das fand ich ein wenig unpraktisch...
ich wollte als puffer lieber den speicher oder so nehmen und am ende nicht groß rumschneiden.
Aber anscheinend führt kein weg daran vorbei?

13.07.2011 - 12:07 Uhr

hmm nicht das ich wüsste.
Diese 10min Begrenzung die in der Freeversion vorhanden ist, ist ja auch in Ordnung da ich eh nicht mehr als 10min aufnehmen möchte.

13.07.2011 - 11:46 Uhr

Na so wie ich das sehe kann man mit ScreenCaptureJob nur direkt in eine Datei speichern und wenn die 10min um sind wird die Datei beendet.

Ich kann aber nicht die letzten 10min im Puffer halten und auf Wunsch die x-Min sichern. Zumindest weiß ich nicht wie.

13.07.2011 - 11:35 Uhr

sorry ich dachte ich habe es richtig rübergebracht... 😃

Ich will durchgehend einen Puffer von 10min Video im Speicher halten. Wenn nun der Anwender z. B. einen Button drückt sollen 5min von den 10min Puffer gespeichert werden.

Wenn das Programm über die 10min kommt soll natürlich angefügt werden aber hinten auch abgeschnitten. So das ich immer nur 10min im Puffer habe.

  • Puffer
    : Gespeichert

[----------::::::::::]

Von den 10min Videomaterial ( "-" )die mir zur Verfügung stehen will ich nun also die letzten 5min ( ":" ) speichern.

Ist es jetzt verständlicher?

12.07.2011 - 12:47 Uhr

Hallo,

ich würde gerne durchgehend ein Video vom Desktop machen. Sobald man nun eine Aktion startet sollen die letzten x-Minuten des Videos gespeichert werden.

Es sollen also bis zu 10min (Begrenzung wenn man nicht die Pro-Version will) im Buffer gehalten werden und auf Wunsch eine Range, in diesem fall die letzten X-Minuten, gespeichert werden.


        private void CaptureMoni()
        {
            try
            {
                Rectangle _screenRectangle = Screen.PrimaryScreen.Bounds;
                _screenCaptureJob = new ScreenCaptureJob();
                _screenCaptureJob.CaptureRectangle = _screenRectangle;
                _screenCaptureJob.ShowFlashingBoundary = true;
                _screenCaptureJob.ScreenCaptureVideoProfile.FrameRate = 20;
                _screenCaptureJob.CaptureMouseCursor = true;

                _screenCaptureJob.OutputScreenCaptureFileName = string.Format(@"C:\test.wmv");
                if (File.Exists(_screenCaptureJob.OutputScreenCaptureFileName))
                {
                    File.Delete(_screenCaptureJob.OutputScreenCaptureFileName);
                }
                _screenCaptureJob.Start();
            }
            catch(Exception e) { }
        }

in etwa so:


        private void SaveRecord(int cntMinutes)
        {

            try
            {
                _screenCaptureJob.Stop();
                // something like that
                _screenCaptureJob.SaveLastXMinutes(cntMinutes);
            }
            catch(Exception e) { }
        }

Hat da jemand eine Idee?

13.04.2011 - 09:38 Uhr

Hi,

naja oder um die Usebility zu steigern wählt man das aus was man übernehmen möchte und ich setze im hintergrund die anderen Items einer Group mit dem X in der Checkbox.
Das soll nur visuellen Charakter haben und nicht ausgewertet werden.

mfg Chris

13.04.2011 - 09:29 Uhr

Hi,

ja stimmt das kann man doch recht einfach nutzen. Hatte erst überlegt das DataGridview irgendwie anzupassen da ich die Dubletten ja als DataTable bekomme.

Jetzt muss ich mir nur überlegen wie ich das noch so hinbekomme wie ich es im Screenshot angedeutet habe mit den roten X.
Damit will ich anzeigen diese Elemente werden dann gelöscht.

mfg Chris

13.04.2011 - 06:53 Uhr

Guten Morgen,

ich habe jetzt meinen Algo für die Dublettensuche per Levensthein auf SQLite fertig.

Nun muss ich dem Anwender ja auch eine Möglichkeit bieten manuell in die Bereinigung der Dubletten einzugreifen. Er soll also entscheiden welcher Eintrag gelöscht werden soll.

Jetzt habe ich erstmal gar keine Idee wie man das von der Useability her am besten abbildet. Irgendwie müssen die einzelnen Gruppierungen von Dubletten ja zusammgefasst werden. Aber wie macht man das am besten und einfachsten für beide Seiten?

Visual Studio 2008 .net Framework 3.5

mfg Chris

10.04.2011 - 17:56 Uhr

Danke das sieht nach genau dem aus was ich gesucht habe.
Ich nehme jetzt also meine Levenshtein Funktion und setzte sie auf den Wrapper auf.

Wenn das am Ende wirklich so einfach war ist es einfach nur genial... 😃

Edit:
So bin jetzt dazu gekommen das zu testen und was soll ich sagen.
Simpel und geil 😃

10.04.2011 - 12:50 Uhr

verwendetes Datenbanksystem: System.Data.SQLite 1.66 mit sqlite3

Hallo,

ich will Ähnliche Einträge in einer Spalte suchen. Mit SoundEx geht es ja theoretisch jedoch ist es mir zu statisch. Ich kann nichts konfigurieren oder sonstwas. Bei Levenshtein bekomme ich ja wenigstens einen Grenzwert mit dem ich arbeiten kann. Levenshtein wird von SQLite aber nicht unterstützt und so müsste ich selber etwas bauen was jedoch wahrscheinlich die Performance runterzieht. Gibt es da schon irgendwelche Implementierungen wo ich das Rad nicht neu erfinden muss?

Ich will ganz einfach ähnliche Einträge einer Spalte finden.

SQLite
SLQite
SQiLte

Sowas halt.

Ich könnte jetzt natürlich jede Zeile durchlaufen und mir den Levenshtein-Wert merken und dieses dann mit anderen vergleichen nur ist das ja dann nicht mehr performant, oder? 😃

31.03.2011 - 17:28 Uhr

ist Laufwerk X ein Netzwerk Laufwerk?

Soweit ich weiss ist es ein USB-Stick. Werde nochmal nachfragen und auch hier testen.

24.03.2011 - 21:35 Uhr

Hi,

also wie gesagt externes LW und oder Laufwerk X sind nicht ausschlaggebend. Ich weiss bei dem Fehler auch nicht weiter. Könnte mir nur noch vorstellen das Norten dazwischen funkt...

P.S. Was ist wenn ich jedes Update als ServicePack markiere? Lädt er die Daten dann wieder inkrementell?

mfg Chris

24.03.2011 - 07:21 Uhr

Hallo,

so nach der ersten Nacht testen habe ich gleich mal 2 Fragen.

  1. Im Anhang ein Screenshot von einem Fehler. Liegt der Fehler am Pfad?
    Edit: Also der Fehler tritt auch auf wenn das Programm unter *X:\Mein Programm* liegt
    Edit2: Sobald es auf dem Problem-PC auf *C:\Mein Programm* gelegt wird geht es. Liegt das am *X:* ? 😁
    Edit3: Ich habe es jetzt selbst ausprobiert. USB Stick als Laufwerk X:. Ich habe kein Problem damit. Einer noch eine Idee?

  2. Wie verläuft die Update Routine?

Version 1.0.0.0

  • abc.exe
  • bcd.exe

Version 1.0.0.1

  • bcd.exe

Version 1.0.0.2

  • abc.exe
  • cde.exe

Version 1.0.0.3

  • abc.exe
  • bcd.exe

Der Empfänger hat aktuell Version 1.0.0.0 nun bekommt er das aktuellste Update (1.0.0.3)
Bekommt er kummulativ alle exen oder bekommt er immer nur jeweils die letzte exe?
Also aus 1.0.0.3 die abc und bcd und aus Version 1.0.0.2 die cde.exe?

mfg Chris

23.03.2011 - 19:53 Uhr

Also ich muss sagen ich habe Ihn mir zwar erst kurz angeguckt aber ich kann nur sagen TOP! Ich werde den Updater jetzt mal in 2 Programmen einbauen und ausgiebig durch meine Kunden testen lassen... 😃

23.03.2011 - 10:25 Uhr

Hallo,

das ganze Projekt sieht sehr interessant aus. Da ich aktuell auf der Suche nach einen Updater bin würde mich mal von Anwendern des Updaters interessieren wie die Handhabe und die Zuverlässigkeit ist?
Besonders im Vergleich zu wyBuild.

Wie ist das Verhältnis von Beta zur Stable? Ist die Beta nur eine Version mit Neuerungen die zwar einen gewissen Qualitätsstandard besitzen aber nicht voll getestet sind oder ist das was in Richtung "Nightly Build" Also total unzuverlässig? 😃

Mir ist wirklich wichtig jetzt auf ein Pferd zu springen was auch in ein paar Monaten / Jahren noch Bestand hat.

Ich habe damals die k-Updater genutzt der auch den ähnlichen Werdegang wie dieser Updater hier hatte nur wurde der irgendwann komplett eingestellt ohne irgendwas. Kein Quellcode nichts. Das war für mich sehr schade darum wäre ich aktuell auch bereit ein wenig Geld in die Hand zu nehmen.

mfg Chris

18.03.2011 - 09:19 Uhr

ahhhhh

Ich hatte es vorhin schon mit Klammern eingeschlossen aber der Value hat sich nicht geändert.

myMatch.Groups[1].Value
ist jetzt genau das was ich gesucht habe!

Danke

18.03.2011 - 08:41 Uhr

wenn ich jetzt folgendes RegEx nehme

Regex myRegex = new Regex("Fax:</span></td><td colspan=\"2\">[^<]*</td>");

Dann habe ich aber das Problem das ich die Tags die das was ich Suche umschließen im Result mit drin sind. Ich finde jetzt das was ich oben rot & grün markiert habe. Und genau das wollte ich ja mit den Look-Arounds vermeiden.

Ich gehe aber mal aus das mein RegEx noch falsch ist, oder?

18.03.2011 - 08:14 Uhr

Hallo,

ich probiere etwas mit RegEx auszulesen nur ist es immer so das ich probiere etwas auszulesen was von 2 "tags" umschlossen ist. Nun nimmt mein Regex aber nie das erste Vorkommen sondern immer das letzte...

Source:
<span class="contact">Fax:</span></td><td colspan="2">:::

Regex myRegex = new Regex("(?<=Fax:</span></td><td colspan=\"2\">).*(?=</td>)");
myMatch = myRegex.Match(myString);
string result = myMatch.Value;

mein myMatch.Value geht dann aber bis zum letzten </td> was es finden kann.

was mache ich hier falsch?

mfg Chris

17.03.2011 - 22:02 Uhr

Es ist leider nicht meine Assembly und ich kann sie durch das Design auch nicht einfach als Referenz einbinden.

Latebinding ist wie du selber schon sagst in C# ein Krampf und es reicht mir schon wenn ich das bei Office machen muss...

17.03.2011 - 12:25 Uhr

Hallo,

gibt es gar keine andere Möglichkeit?

mfg Chris

15.03.2011 - 12:30 Uhr

Hallo,

nein ich meine nicht Unit-Tests.
Ich meine manuell ab zu arbeitende Testpläne mit Protokollierung usw.

mfg Chris

15.03.2011 - 10:46 Uhr

Hallo,

in einer ehemaligen Firma von mir haben wir Visual Studio Test Professional in Verbindung mit dem TFS eingesetzt. Da in meiner aktuellen Firma leider VSS eingesetzt wird und wahrscheinlich auch nicht das Geld für Visual Studio Test Professional und einem TFS freigegeben wird wollte ich mal fragen ob es Alternativen für die Test-Suite gibt?

Mir reicht das manuelle Testing mit Screenshots und allem Pipapo. Ich brauche also nicht die Integration in VS und oder dem TFS.

Die Software soll primär von einer QS Abteilung eingesetzt werden die keine Ahnung von Softwareentwicklung hat.

mfg Chris

16.02.2011 - 09:01 Uhr

hi,

ne da ist leider nur drin wie man mit einer eigenen suche auf die windows suche zugreift.
ich will aber das die windows suche auf mich zugreift.

mfg Chris

16.02.2011 - 08:24 Uhr

Hallo,

so ich finde zu meiner Anforderung echt nichts.
Mir würde auch schon das Wissen ausreichen ob es überhaupt möglich ist oder nicht.

Was ich habe (siehe Bild)

mfg Chris

14.02.2011 - 15:48 Uhr

Also nach ein wenig Recherche sieht es wirklich so aus als ob ich mich nur per RSS Antwort in die Suche einklinken kann und dann auch nur in die Suche im Explorer und nicht in die Suche wenn man auf die Windows Schaltfläche unten links klickt, oder übersehe ich etwas?

Es muss doch irgendeine Möglichkeit geben? Outlook, OneNote stehen da ja auch mit Content der nicht als Datei zur Verfügung steht bereit.

mfg Chris

14.02.2011 - 12:10 Uhr

Sorry habe vielleicht vergessen zu sagen um was es mir genau gibt.

Ich finde massig Seiten zu den Webrequests. Mich interessiert aber ob ich einen Search Connector zu einer EXE machen kann.

14.02.2011 - 11:46 Uhr

Hallo,

ich wusste leider nicht genau nach was ich suchen soll/muss.
Ich will mich bei der Windows Suche (Vista/7) mit reinhängen und eigene Suchergebnisse bereitstellen.

Es werden ja auch E-Mails angezeigt wo die Daten nicht aus dem Filesystem kommen.

mfg Chris

23.11.2010 - 12:12 Uhr

hmm sorry dann weiss ich echt nicht was ich machen soll 😃

Ich müsste diese 3 Methoden implementieren. Und dann? Oder viel mehr und wie?

        public System.Xml.Schema.XmlSchema GetSchema()
        {
        }

        public void ReadXml(System.Xml.XmlReader reader)
        {
        }

        public void WriteXml(System.Xml.XmlWriter writer)
        {
        }
23.11.2010 - 12:03 Uhr

Also ein eigenes XML-Attribute auf Basis des vorhandenen programmieren, oder wie?

23.11.2010 - 11:12 Uhr

Hallo,

ich möchte per XML Serialisierung beliebige Attribute zu einem Knoten hinzufügen.

<STACK Category='Invoice' LocationType='File' Priority='4' StackID='B0000035' SubSystem='Invoice'>

So soll es aussehen. DIe Attribute sollen aber frei definierbar sein. Wie bekomme ich es hin?

<Stack Category="Invoice">

Um mit C# solch ein Attribute hinzuzufügen muss ich folgenden Code verwenden:


        [XmlAttributeAttribute("Category")]
        public string Key { get; set; }

        public Stack()
        {
            Key = "Invoice";
        }

Ich hätte jetzt gerne sowas in der Art:


        public string Bezeichner { get; set; }
        [XmlAttributeAttribute(Bezeichner)]
        public string Key { get; set; }

        public Stack()
        {
            Bezeichner = "Category";
            Key = "Invoice";
        }

mfg Chris

03.11.2010 - 15:58 Uhr

Also ich habe noch nie erlebt das die ArgumentOutOfRangeException
einfach so kam. Du probierst auf ein Element zuzugreifen welches nicht vorhanden ist.

Wenn ein Array 20 Elemente hat und ich probiere auf was größer gleich Array[20] zuzugreifen dann gibt es einen Fehler. Denn da ist nichts...

03.11.2010 - 12:59 Uhr

Guck doch einfach mal in die MSDN da ist alles super beschrieben.

http://msdn.microsoft.com/en-us/library/aka44szs.aspx

03.11.2010 - 12:47 Uhr

Der Fehler sollte ja klar sein, oder?

Der String ist 50 Zeichen lang und dein startindex liegt irgendwo dahinter

03.11.2010 - 12:36 Uhr

Ja das liegt daran

http://msdn.microsoft.com/en-us/library/xc4fh98s.aspx

Selects a range of text in the text box.