heute und noch 2 Tage.. dann habe ich auch Urlaub :-) Passiert aber nicht mehr viel..
Wünsche euch allen ein frohes Fest und einen erholsamen Urlaub! Sitzt nicht zu viel vor dem PC :-)
ich kann deine Entscheidung gut verstehen. So ein Projekt zieht viel, viel Arbeit mit sich. Du kannst/musst keinen Support leisten.
Was machst du jetzt genau mit dem Projekt? Gibst du es an einen anderen Entwickler weiter oder stellst du es vielleicht OpenSource? Ich wäre schade die ganze Energie, die du fast 2 Jahre lang in das Projekt gesteckt hast, einfach "verpuffen" würde und mehr oder weniger umsonst gewesen wäre.
ich beschäftige mich momentan mit System.AddIn. Ich denke ich habe das Prinzip verstanden und das Grundgerüst läuft soweit.
Nun möchte ich den AddIn noch ein UserControl hinzufügen. Dieses soll später in der Host-Anwendung angezeigt werden können. Wenn ich in der Host-Anwendung versuche, dass AddIn zu laden, kommt folgende Fehlermeldung:
Zitat
Der Typ "PicReady.AddIn.Resize.Classes.ResizeGUI" in Assembly "PicReady.AddIn.Resize, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" ist nicht als serialisierbar gekennzeichnet.
Logisch, ein UserControl ist nicht serialisierbar. Doch wie bekomme ich das AddIn trotzdem geladen und das UserControl angezeigt?
Im Internet schwirren viele Fragen dazu herum, doch nirgends gibt es eine richtige Antwort oder geschweige denn ein Beispiel.
mit dem Wort "herumgespielt" habe ich es ein bisschen blöd ausgedrückt. Ich habe eigentlich nur dieses Chart hinzugefügt und gespeichert. Ansonsten habe ich rein gar nichts gemacht.
Zitat
Hast du ne Property genutzt, die gar nicht verwendet werden dürfte? Was machst du mit "Source"?[/QUOTE
Ich habe nicht verändert oder gemacht, nur das Chart...
ich fange gerade an mich mit WPF zu beschäftigen. Dazu habe ich mir die 60-Tage-Testversion on Expression Blend 3 installiert.
Ich habe in Visual Stiso 2008 Pro eine neue WPF-Application erstellt, diese gespeichert und geschlossen und dann Expression Blend geöffnet. Dort habe ich ein wenig mit der Window1 herumgespielt und ein Chart hinzugefügt.
Wenn ich nun die Solution in Visual Studio öffne, bekomme ich beim anzeigen vim Window1 im Designer folgende Fehlermeldung:
Zitat
'/Microsoft.Windows.Design.Developer;component/themes/GridAdorners.xaml' value cannot be assigned to property 'Source' of object 'System.Windows.ResourceDictionary'. Cannot create instance of 'GenericTheme' defined in assembly 'Microsoft.Windows.Design.Interaction, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Exception has been thrown by the target of an invocation. Error at object 'ResourceDictionary_4'.
Bei Google habe ich leider keine Hilfe gefunden. Ich habe es in der Firma (bei mir und einem Kollegen) und zu Hause ausprobiert, jedes Mal der gleiche Fehler.
Vielleicht habe ihr ja eine Idee woran es liegen könnte.
Danke!
Ich muss mich unbedingt mal mit Interfaces beschäftigen. In der Firma komme ich nicht dazu und zu Hause habe ich leider kaum Zeit - irgendwann...
Ich danke euch nochmals für eure Hilfe. Ich werde jetzt erstmal alleine versuchen weiterzukommen, ansonsten melde ich mich nochmal. Danke :)
ja, du hast vermutlich Recht. Ich glaube mir fehlt das nötige Hintergrundwissen, deshalb "frimel" ich mir hier anscheinend irgendetwas zusammen.
Hallo dN!3L,
Zitat
du kannst ja z.B. einem XmlReader/XmlWriter "herumreichen".
Die Idee gefällt mir. Ich müsste allerdings eine eigene Klasse dafür schreiben, denn ansonsten habe ich mehere XML-Header in einer Datei, oder? Oder kann der XMLSerializer das von alleine?
ich weiß nicht wie ich es besser beschreiben könnte. Zeigen ist auch nicht so leicht, mehrere Klassen, usw.
Gehen wir mal anderes dran: Ich habt ein Programm mit mehren Addons, nun sollen in einer einzigen Projektdatei alle (verschiedenen!) Einstellungen der Addons gespeichert werden. Wie würdet ihr vorgehen? Vielleicht ist mein Weg auch einfach zu umständlich oder gar der "falsche"..
Es gibt zum Beispiel das Addon "ResizeModule", das die Daten in "ResizeData" abspeichert. Außerdem gibt es das Addon "TonalityModule", das die Daten in "TonalityData" abspeichert, usw.
Ich kenne den Typ der Variable (z.B. ResizeData) da mir das Addon den Typ mitteilt. Nun bekomme ich noch das Object und soll das dann speichern. Das Hautprogramm weiß den Typ nicht, weil jedes Addon einen anderen Typ zum Speichern hat.
Ich versuche gerade Addons für meine Anwendung zu schreiben. Jedes Addon besitzt Daten die mit dem Hautprogram per XmlSerializer gespeichert/geladen werden sollen. Nun hat jedes Addon natürlich verschiedene Daten, deshalb wollte ich ein Object nehmen und dieses dann speichern/laden.
ich schreibe gerade an einem Grafikbearbeitungs-Programm, dass durch mehrere "Module" aufgebaut ist. Jedes Modul hat die Aufgabe ein übergebens Bitmap zu bearbeiten.
Zum Beispiel:
- Modul A: Größenveränderung
- Modul B: Änderung der Tönung
Jedes Modul besteht aus einem Usercontroll und einer Klasse für die Daten.
Der Ablauf: Das Modul bekommt ein Bitmap, welches es anhand der eingestellten Werte (im Usercontroll bzw. der Oberfläche eingestellte) bearbeitet und dann das fertige Bitmap zurückgibt.
Ich hoffe ich habe es einigermaßen Verständlich erklärt. Nun zu meinem Problem:
Wenn ich im Programm das Projekt in einer einzigen(!) Datei speichern möchte, muss logischerweise jedes Modul durchgegangen werden. Alles Module sind in einer einzigen Klasse initialisiert. Nun wollte ich mit dem XmlSerialiser über alle Usercontroll laufen und die Daten (Propertie "ModuleData") serialisieren. Leider funktioniert das nicht. Kann ich dem XmlSerialiser irgendwie mitteilen, dass er aus dem Usercontroll nur das eine Propertie auslesen soll, nichts mit dem Usercontroll an sich machen soll?
public partial class ResizeModule : UserControl
{
public event EventHandler ValuesChanged;
private ResizeData data;
// Dieses Propertie soll serialisiert werden
public ResizeData Data
{
get
{
return this.data;
}
set
{
this.data = value;
}
}
public ResizeModule()
{
this.InitializeComponent();
this.Data = new ResizeData();
this.Dock = DockStyle.Fill;
this.comboBoxResizeType.SelectedItem = this.comboBoxResizeType.Items[0];
this.SetValuesTOGUI(this.Data);
}
// usw ... (Events und Methoden)
}
Ich hoffe ihr versteht mich, vielen Dank für jede Hilfe!
Gruß Dennis
in unserem Framework gibt es eine Collection namenes "Customers". Diese wird mit unseren Kunden gefüllt.
Nun würde ich alle Kunden gerne mittels einer einzigen Quellcodezeile in eine generische Liste kopieren.
Customers customers = session.CreateCustomers();
customers.FindAll();
List<Customer> customerList = new List<Customer>(customers.GetEnumerator());
Ist es möglich einen IEnumerator innerhalb einer Zeile in IEnumerable<T> "umzuwandeln"?
das verstehe ich nicht. Ich habe ja nur 3 Koordinaten, wie mach ich dann 2 Dreiecke daraus. Bzw. welche beiden Dreiecke und welchen Winkel meinst du genau?
ein paar Freunde und ich habe die letzten Wochen ein kleines Solarboot gebaut. Dieses Boot besitzt einen GPS-Empfänger und 2 Motoren (Zum Lenken läuft einer der beiden Motoren rückwärts).
Unser Boot soll ein paar GPS-Koordinaten in einer Liste zur Verfügung gestellt bekommen und diese Koordinaten dann autonom abfahren.
Nun muss ich eine Funktion schreiben, welche mit dem Input von 3 Koordinaten sagen kann, ob das Boot geradeaus, links oder rechts weiterfahren soll.
Die ersten beiden Koordinaten sind die aktuelle Postion plus die Position kurz davor. Damit lässt sich die Richtung ausrechnen, in der das Boot gerade fährt. Die 3. Koordinate ist das Ziel.
Ich bin bereits seit 2 Stunden am grübeln, wie ich ausrechnen kann, in welche Richtung das Boot weiterfahren muss. Leider komme ich auf keinen grünen Zweig.. vielleicht denke viel zu kompliziert.
Ich hoffe ihr könnt mir weiterhelfen - danke!
Gruß Dennis
das Update über einen Proxy funktioniert leider noch nicht. Auf diesen Fehler hatte ich schon vor einiger Zeit hingewiesen. Deshalb warte ich schon eine Ewigkeit auf die neue Version...
ich habe ebenfalls die Probleme mit dem Setzen der SplitterDistance:
Wenn das Programm geschlossen wird, speichere ich den Wert, der in "SplitterDistance" steht, ab. Wenn das Programm wieder gestartet wird, wird "SplitterDistance" mit dem gespeicherten Wert gesetzt.
Also mache ich im Prinzip genau das Gleiche wie von pkoeppe beschrieben:
Zitat
1. Verschiebe Splitter => Moved => SplitterDistance = 537
2. FormClosing => SplitterDistance = 537
3. Starte neu
4. Vor dem Setzen => SplitterDistance = 458 (kommt vom Designer)
5. Moved => SplitterDistance = 537
6. Nach dem Setzen => SplitterDistance = 537
7. Moved => SplitterDistance = 793
8. Load => SplitterDistance = 793
Zitat
Man darf die Distance frühestans ab dem Form.Shown-Event setzen
Funktioniert bei mir leider immernoch genauso wenig.