// alles wegedit, hatte was falsch gemacht
hehe nun hab ich was gutes hinbekommen
eine SortedList in einer eigenen collection welches INotifyCollectionChanged implementiert
in der listview die moeglichkeit einer sortierung per header klick mit einer default sortierung der elemente {=
und dazu noch ein binding zu den textboxen in beide richtungen {=
Hi Leuts
Nach vielen Wochen habe ich es als NOOB nun geschaft mein Programm soweit fertig zu stellen ... dank .NET
Zum Abschluss scheitere ich aber leider an einem der wichtigsten Punkte ... den Resourcen.
Mein geschriebenes Programm benutzt einige andere Programme bzw. erstellt ein Skript welches auf diese Programme zugreift.
Mein Problem:
Ich möchte diese zusätzlichen Programme meinem Programm mitgeben bzw. darin einbetten.
Ich habe nun in meiner Projektmappe (Visual C# Express 2008) im Resourcen-Ordner einen zusätzlichen Unterordner erstellt, wo ich alle diese zusätzlichen Programme hinzugefügt habe.
Beim starten des Programmes sollen alle diese Programme (oder der ganze Ordner inkl. aller sich darin befindlichen Dateien) in einen Ordner auf der Festplatte kopiert werden.
Aber genau dadrin besteht mein Problem ... ich komme nicht an die Dateien in dem Resourcen-Ordner.
Probiert habe ich das einfachkeitshalber mal mit einer Datei, die sich direkt im Resource-Ordner befindet.
File.Copy(@"test.bmp", @"c:\test.bmp");
Kompilieren tuts, aber beim starten kommt dann die Meldung, das die Datei "test.bmp" nicht gefunden werden kann.
Ist meine Vorgehensweise falsch, fehlt irgendwo ein "Häckchen" oder ist es eine Einstellungssache ?
Gibt es da NOOB-freundliche Lösungsansätze ?
Oder gibt es eine andere Möglichkeit mein Ziel zu erreichen ... ich brauche lediglich diese Dateien in einem bestimmten Ordner auf der Festplatte, das soll aber ohne menschliches zutun passieren.
MFG
Marco
Du müsstest IMO die StringBuilder Klasse verwenden können. Lies mal den Artikel:
http://msdn.microsoft.com/en-us/library/x3txb6xc(VS.71).aspx
Interessant für dich wäre hier das Beispiel mit GetSystemDirectory.
Es kann leicht sein dass das Objekt schon gelöscht wird, obwohl noch irgendwelche Threads in Memberfunktionen des entsprechenden Objekts rumkrebsen. Allerdings nurmehr wenn das Objekt ("this") danach nichtmehr referenziert wird. D.h. wenn die Threads alle schon über "die letzten Zeile" drübergelaufen sind die irgendwelche Member des Objekts anfasst, also irgendwie "this" dereferenziert.
Im Normalfall tut das auch nicht weh. Blöd ist es nur wenn man Objekte implementiert die unmanaged Resourcen verwenden, und die unmanaged Resource noch irgendwo verwendet wird. Kann man auch in der Doku zu System.GC.KeepAlive nachlesen. In diesen Fällen kann man eben System.GC.KeepAlive verwenden um eine Referenz auf irgendetwas zu "erzwingen" so dass diese auch nicht wegoptimiert werden kann.
However, his pointer should have been helpful. 'regex' is the cue in this context: C# provides similar functionality as Perl by means of the 'Regex' class, as should have been obvious by the Google hits.
Windows.Forms verwendet einen eigenen Formatter, der die 'DataMember'-Information in möglichst generischer Form verwendet, um aus der angegebenen Property eine lesbare Information zu extrahieren. Irgendwo auf dem Weg geht da aber was schief, weil da anscheinend diverse Sonderfälle abgeprüft werden. Ich habe mir jetzt keine Details angeschaut aber ich vermute, dass an einem Punkt auf den Spezialfall „Unterklasse von IList“ getestet wird.
=> Das Verhalten ist an sich ein Bug.
asc schrieb:
(Und die MSDN mag eine gute Quelle sein, aber nicht unbedingt die Beste)
Also für C# / .NET fällt mir jetzt keine bessere Quelle als msdn ein.
Wo ist denn das Problem? Mit XmlTextReader und XmlDocument liest du die RSS-Feeds und nimmst sie mit XmlNodeList den Spezifikationen (vergl. Wikipedia) auseinander. Meist interessieren eh nur die Items "title", "link" und "description" ...
Alternativ könntest Du ein ProcessStartInfo-Objekt an Process.Start() übergeben und in diesem Objekt mit Ausgabeumleitungen 'rumspielen. (ProcessStartInfo::RedirectStandardOutput)
Thx so much.
I take that example from Konrad.
this.Controls.Remove(this.textBox1);
this.textBox1 = null;
Thank you so much for your help.
That so nice.
I love this corner. :schland:
Bye say Skypi
LordJaxom schrieb:
Interessenfrage am Rande: Die Möglichkeit, mit einer Methode ein Interface zu implementieren, dabei diese Methode aber völlig anders zu nennen, gibt es in C# garnicht, oder?
Korrekt. Allerdings muss man dazu sagen, dass VB und C# hier zwar verschiedene Wege gehen, das Ziel aber eigentlich mehr oder weniger dasselbe ist. Wieso VB hier die Möglichkeit dieser Aliase eingeführt hat, ist mir ehrlich gesagt nicht ganz klar. Ich habe das auch noch nie irgendwo benötigt.
Ergänzung:
Habe selbst etwas Recherche für die Initialisierungssyntax benötigt, aber letztlich ist es auch möglich statt des Objekt-Arrays direkt ein jagged Array aus mehrdimensionalen Arrays (mit Inhalt) zu erzeugen:
int[][,] schablonen = { schablone_eb_0, schablone_eb_1, ...};
YES des wars - das stand auf false - rebuild und restart war alles nicht erforderlich
die eigenen controls sind nun unter "<appname> Components" gefuehrt - perfekt
vielen dank {=