Ok vielen dank Jungs,
dann schau ich mir das mal an:)
Wichtig ist, dass ich beim reflection der gesamten Ableitungshierachie eindeutige Propertynamen habe bzw. immer die höchst mit "new" überschrieben zurück bekomme!!
Grüße:)
Hallo,
leider habe ich gerade keine deutsche Tastatur. Von daher entschuldigt die Fehler.
So, also ich wuerde gerne mal wissen, was du genau vor hast. Solltest du deine Anwendung einfach nur nett aussehen lassen wollen obwohl der Sinn dieser Anwendung ein anderer ist, dann kann ich dir eher davon abraten. Ich sprech da wirklich aus eigener Erfahrung. Wir sind naemlich auch ein bisschen auf die Schnauze gefallen als wir dann unsere echt geil ausehende Anwendung ausgerollt haben, und dann feststellten, dass alles extrem lahmt. Problem ist, dass unsere Anwednung zwar nur intern benutzt wird aber trotzdem kannst du dich nicht darauf verlassen, dass die Rechner halbwegs performant sind. Wir haben uns dann teilweise mit WPF Anwendungen auf XP Rechnern ohne gescheite GraKa rumschlagen muessen. Im Endeffekt aben wir alles was mit Effekten zu tun hatte wie Gradients, Blurs und wie sie nicht alle heissen rausgeworfen. Die muss eben klar sein, dass WPF eigentlich nichts anderes als ein "Grafikframework" ist das intern mit DirectX arbeitet.
Will dir hier natuerlich nicht sagen was du zu tun hast sondern die nur auf die Fallstricke aufmerksam machen die dich erwarten koennten;-)
Trotzdem....Viel Glueck
Hast du bei den Forms auch immer KeyPreview auf 'true' gesetzt?
PS: Die Shift-Taste ist eigentlich nur ein 'ModifierKey', d.h. nur in Verbindung mit anderen Tasten gültig und sollte nicht als eigene Taste angesehen und abgefragt werden. Nimm doch besser die 'ESC'-Taste.
Sobald du TextBoxen, Shortcut-Keys o.ä. hast, kommst du (bzw. der Anwender!) eh in Schwierigkeiten...
Für den Doppelklick solltest du die Prieview-Events mal anschauen.
Und fürs unscharf ich würde ich dir den dropshadow Effekt vorschlagen, musst aber etwas mit rumspielen.
Grus mdn
int[,] array = new int[4, 2]; // 4*2-Matrix
Edit:
Oder mit einem Two Key Dictionary:
http://www.java2s.com/Code/CSharp/Collections-Data-Structure/TwoKeyDictionary.htm
Nutzt intern ein
Dictionary<PrimaryKeyType, Dictionary<SecondaryKeyType, ValueType>>
und kann von Außen so angesprochen werden:
TwoKeyDictionary<int, int, int> myDict = new TwoKeyDictionary<int, int, int>();
myDict[1,2] = 3;
Prof84 schrieb:
Java läuft nicht auf jede Plattform, sondern nur auf einen MAINSTREAM von Betriebssystemen! Die meisten, aber nicht alle. Dann für den Longtail bleibt Dir nur die JNI, was die Typensicherheit gefährdet (die eigentlich seit Generics Java 5 auch dahin ist). Die Plattform versucht mit der Updatefunktion die Rückwärtskompatibilität zu den Weiterentwicklungen aufrecht zu erhalten, was eben nicht immer gelingt. Du merkst dass nur nicht, weil es in der Schichtenstruktur unterhalb der UI-Schichten liegen. Was der User sieht, merkt er nicht ...
Wenn Du bei den Desktop lange Zeit die Updatefunktion aktiv lässt, dann taucht manchmal das bekannte Phenomän auf, dass die Periferiegeräte, wie Drucker oder Scanner, den Dienst einstellen, weil die updates auf der Treiberebene liegen. Und wenn der Hersteller dann kein Patch oder Update für das aktuelle Release liefert, kannst DU danach die HW nicht mehr nutzen.
Deshalb bekommst Du bei wichtigen Sicherheitsupdates bei Windows, wo man die alten Konfigurationen im Framework nicht mehr nebeneinander stehen gelassen werden können eine "EULA" zu anklicken, mit der Dir bei MS subtil ein Haftungsausschluss untergeschoben wird.
Das Du Frameworks und Platformen auf unendlichen Funktionalitäten erweitern kannst, haben Gödel und Turing schon ewig widerlegt.
Und jetzt denk mal über Updates bei Anti-Maleware SW und der Win Defender nach und der Synchronisation in der Konfiguration .
Bingo!
Das sollte kein Problem darstellen. Du kannst mit XNA ganz einfach in ein Panel rendern. Dort hast du dann die 3D-Grafik, ansonsten verhält es sich aber wie ein ganz normales Forms-Control. Man kann also auch Buttons darauf legen usw.
@inflames2k
Manche Server bzw. Server Frameworks forcieren ein eigenes Timeout. z.B. um den Server vor Abfragen zu "schützen" die einfach zu lange dauern.
Standard Apache+PHP Installationen tun das wenn ich mich nicht irre z.B.
Ich meine mich zu erinnern dass es auch bei ASP (ohne .NET) so war.
Und wenn die Exception (SoapHeaderException) vom Framework korrekterweise erzeugt wird, dann muss es fast ein serverseitiges Problem sein. Weil SoapHeaderException heisst ja dass der Server zurückgemeldet hat dass es ein Problem gab.
Was impliziert dass der Client nicht seinerseits vorzeitig abgebrochen hat - sonst hätte er ja keine Antwort erhalten.
Hallo,
Wenn du zuerst das Inkrement ausführen willst und dann die Zuweisung, dann musst du folgendermaßen vorgehen:
Preinkrement:
int a, b;
a = 5;
b = ++a;
Jetzt haben a und b jeweils den Wert 6.
Postinkrement:
int a, b;
a = 5;
b = a++;
So rum hat jetzt b den Wert 5 und a den Wert 6.
Hallo Th69,
joh, Du hast Recht !
In der Liste sind die Polygonobjekte zwar enthalten (Anzahl Objekte >=3).
Das habe ich auch mit einem simplen Haltepunkt überprüft.
Gebildet werden die Objekte aber so:
public List<Polygon> BuildPolygonText(TextPointer startCharPos, TextPointer endCharPos, int selLength)
{
// build a polygon around marked area for canvas and save
...
/* Aua! - behält den Objektzeiger bei!
* Polygon selectionMark = new Polygon(); */
foreach (PointCollection temp in listPoints)
{
Polygon selectionMark = new Polygon(); // hier ist schön und es funzt alles!
selectionMark.Points = temp;
selectionMark.Fill = Brushes.LightCoral;
selectionMark.Opacity = 0.3;
selectionMark.Stroke = Brushes.Black;
listPolygons.Add(selectionMark);
}
return listPolygons;
}
...
public List<Polygon> listPolygons = new List<Polygon>();
public List<PointCollection> listPoints = new List<PointCollection>();
ERGO: Objektzeiger bleiben in der List<Canvas> erhalten.
Danke!
EDIT: WENN man das weiß, kann man mit den Objekten spielen auch wenn der canvas-Bau abgeschlossen ist.
Ja, sieht wieder nach unserem Liebling MVVM aus, nur das wir statt WPF die
Microsoft.Office.Interop.Excel zur Verfügung haben.
Jetzt suchen wir das Pordon zur IDispatcherInvoke in Excel.
http://msdn.microsoft.com/de-de/library/Microsoft.Office.Interop.Excel(v=office.11).aspx
(Ich vermisse mein COM+ *snüff* )
Wenn ich den Prozess identifizieren könnte, gäbe es die Möglichkeit den verwendeten Arbeitsspeicherbereich nach einer Variable "WS_M5_Statuswort" zu durchsuchen um so eine Änderung On the fly zu bemerken ?