Dravere schrieb:
1. Hast du meine Vorschläge gelesen?
2. Hast du die Dokumentation zu XmlSerializer (oben verlinkt) gelesen? Vor allem auch so Dinge, wie oben erwähnt, zu IEnumerable<T> und einer Methode Add ?
3. Überleg dir mal, was passiert, wenn jemand einen Knoten an mehreren Container hinzufügt.
4. Überleg dir mal, was passiert, wenn jemand das Parent-Property ändert.
5. Überleg dir mal, was passiert, wenn jemand einen neuen Container an Nodes zuweist. Haben die darin enthaltenen Knoten den korrekten Parent?
6. Überleg dir mal, was passiert, wenn du diese Basisklasse serialisierst, wie du es im Eingangsbeitrag als Anforderung drin hast.
Grüssli
mir fliegt alles um die ohren ? ^^ werde da wohl nochmal ordentlich lesen müssen.
melde mich zurrück, wenn ich probleme habe falls jemand noch lesetipps in die richtung hat, immer her damit .
SetWindowsHookEx(
13,
HandleKeyStroke, // <-
GetModuleHandle(module.ModuleName),
0);
Du erstellst dort automatisch ein delegate Objekt, welches vom GC dann wieder eingesammelt wird, da in C# keine Referenz darauf gehalten wird. Steht eigentlich auch in der Fehlermeldung. Dort wird vom Delegaten HookProc geredet und nicht von UserHookProc .
Viel Spass mit dem "Testprogramm".
Grüssli
Jo, wird mir wohl nicht viel anderes übrig bleiben Das Interface bleibt erst mal gleich und intern stelle ich die Library.dll so um, dass man zukünftig flexibler ist. Mann, da macht man es sich ein einziges mal einfach und schon fliegt man auf die Fresse
Danke für eure Antworten Wenn noch einer was wertvolles zum Thema AppDomain zu sagen hat, immer her damit!
Hi
Also gänzlich lösen konnte ich das Problem bislang nicht. Ich habe es umgangen indem ich zwar den index aus dem GridView Element gelesen hab und dann den Wert mit diesem Index aus der eigentlichen Datatable nehme.
Gruß
Hallo Sonnenschein5,
bitte Code-Tags verwenden. Du bist lange genug im Forum um das zu wissen.
Sonnenschein5 schrieb:
string xmlData = _dataSet.GetXml();
xmlData = _dataSet.ToString();
Unabhängig vom eigentlichen Problem: Das spricht Bände.
Bitte erkläre mal was Du Dir unter diesen zwei Zeilen Code erhoffst. Bezogen auf Referenzen und Objekte.
Dirk N schrieb:
Ich arbeite mich ja gerade erst in das Thema "Objektorientierte Programmierung" ein und wollte nur wissen, ob ich richtig starte. Als Basis meiner Mini-App. habe ich die Klasse Beleg (Buchungsdatum, Betrag, Konten, usw.) mit den Methoden Einfügen, Ändern, Löschen vorgesehen. Abgelegt sollen die Belege zur Weiterverarbeitung in einer Generics <List>.
Bin ich auf den richtigen Weg?
Tipps, Hinweise aber auch Literaturvorschläge willkommen.
Klingt bisher nicht schlecht. Folgender Vorschlag: Du baust dein Design mal zu Ende und dann schreibst du hier nochmal rein, zeigst uns dein Code. Dann koennen wir dir bessere Tips geben.
00Albert schrieb:
Ist das also keine gute Idee Setter und Getter zu benutzen, mir ist nämlich nicht so richtig klar geworden weswegen es zwei Möglichkeiten gibt Informtionen in eine Methode zu bekommen, bzw. herauszubekommen, bzw. wann welche eingesetzt wird
Grundsätzlich sind Getter/Setter eine gute Idee, deswegen wurde in C# ja auch die "Property" als neues Sprachfeature eingeführt. Das Problem liegt darin das Du offensichtlich noch nicht erkannt hast das Property und Methode zwei unterschiedliche Sprachfeatures sind.
Beispiel:
// Das ist keine Methode sondern eine Property.
public int Methode
{
get
{
return iVariable;
}
set
{
iVariable = value;
}
}
// Das ist eine Methode
private int BerechnungMaxMethode()
{
int iMaxMethode = 0;
iMaxMethode = iVariable1/5;
return iMaxMethode;
}
Ok ich hab nochmal genauer darüber nachgedacht.
Ein Teil hat tatsächlich gestimmt es gab einen MTA Thread aus dem die im Hauptthread erzeugen Interfaces überschrieben wurden. Ich habe dies nun beseitigt und alle Threads testweise auf STA umgestellt. Kein neues Resultat. Weiterhin ein Fehler.
TemplateBinding referenziert immer das Control , auf welches das Template angewandt wird.
Student83 schrieb:
Wird der Wert nun an das SnapsToDevicePixels-Property des ContentPresenters selber (dann würde ich die explicite Angabe hier nicht verstehen) oder an den Wert des Buttons gebunden?
Es wird der Wert des Buttons gebunden. ContentPresenter stellt ja kein Template dar.
Student83 schrieb:
Und was würde passieren, wenn ich dem Style nun noch den folgenden Setter gebe:
<Setter Property="SnapsToDevicePixels" Value="{TemplateBinding SnapsToDevicePixels}">
? Würde daraus nicht eine Endlosschleife resultieren?
Es wäre ein ziemlich unnötiger Setter. Was genau passieren würde, weiss ich nicht. Ich würde aber mal sagen, es würde zusätzlicher Aufwand betrieben, welcher unnötig ist. Zu einer endlosschleife käme es wahrscheinlich nicht, weil die Bindings in WPF da recht gut sind, solche Rückkopplungen abzufangen.
Grüssli
Ich denke es wäre vernünftiger wenn du das Grundproblem in deinem Code beseitigst, nämlich den Grund warum die Queue für 30ms (5 Records * 6ms) gelockt bleibt.
Dann brauchst du auch kein Monitor.TryEnter.
Jedermann schrieb:
Wie kann ich das berechnen?
Füg eine entsprechende Translation hinzu. Wenn du um 90° drehst, entspricht dies dann genau der Höhe des Bildes.
http://i49.tinypic.com/23igv9y.png
using System.Net;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
namespace FormsTest
{
public partial class Form1 : Form
{
private readonly Image m_image;
public Form1()
{
InitializeComponent();
var request = WebRequest.Create("http://i48.tinypic.com/2i7l9c4.png");
using(var response = request.GetResponse())
{
m_image = Image.FromStream(response.GetResponseStream());
}
}
private void OnPanelPaint(object sender, PaintEventArgs e)
{
var g = e.Graphics;
var matrix = new Matrix();
matrix.Translate(m_image.Height, 0);
matrix.RotateAt(90.0f, new PointF(20, 20));
g.Transform = matrix;
g.DrawImage(m_image, 20, 20);
}
}
}
Ich weiss nicht, wie genau du dich mit Matrizen auskennst. Man kann verschiedene Projektionen über Matrizen beschreiben. Wenn man sie miteinander multipliziert, entspricht dies der Anwendung der jeweiligen Projektion in umgekehrter Reihenfolge zur Multiplikation.
Wenn du mein Beispiel anschaust, wende ich zuerst ein Translate und danach ein RotateAt an. Tatsächlich wird dies beim Output dazu führen, dass zuerst ein RotateAt und danach ein Translate durchgeführt wird.
Wenn du mehr dazu wissen willst, informier dich über Matrizen im Bereich von Computergraphiken.
Grüssli