Direkt nicht, aber dazu kannst du die WinAPI-Funktionen mittels PInvoke benutzen, z.B. SendMessage: http://www.pinvoke.net/default.aspx/user32/SendMessage.html
Die entsprechenden Messages (z.B. WM_MOUSEMOVE) und deren Parameter solltest du dir bei MSDN raussuchen.
Mir fällt gerade auf...
rikyho schrieb:
class Test2
{
List<int> list;
public List<int> List { get { return list; }}
}
Das ist schlecht. Der Aufrufer bekommt eine Referenz auf das Feld l und kann dieses darüber manipulieren, obwohl es eigentlich private ist.[/quote]
Ich denke hier liegt der Denkfehler. Der Aufrufer kann das Feld list _nicht_ ändern, sondenr nur dessen Inhalt. Privat bedeutet hier, das man von ausserhalb der Klasse das eigendliche Listenobjekt nicht austauschen kann. Also sowas wie List = new List<int>() geht nicht.
Wohl aber kann man den Inhalt der Liste verändern, was man wiederum dadurch unterbinden kann indem man eine ReadOnly-Liste nach aussen verwendet.
Anders war das bei den C++ Referenzen. Beispiel:
class Test
{
char* data;
char*& GetData() { return data; }
};
in dem Beispiel wäre es jetzt folgendes möglich:
t.GetData() = new char[128];
was zu beliebigen Seiteneffekten führen kann je nachdem was die Klasse intern macht.
Die WeakReference kannte ich noch nicht, aber leider nicht das, was ich suche. Aber ich merke es mir für später, das kann man sicher noch gut verwenden.
Naja, ich überdenke vielleicht auch nochmals mein Design. Es sollte eigentlich eine Optimierung werden. Aktuell habe ich Formeln, welche Variablen beinhalten. Diese Variablen haben einen Namen gespeichert und gehen bei jeder Berechnung von neuem ihren Wert in einem Dictionary holen. Ich könnte grundsätzlich diese Beziehung bereits beim Parsen auflösen und genau festlegen, welches Objekt zu welcher Variable gehört. Das Problem wäre dann halt nur, dass man das ursprüngliche Objekt nicht mehr verändern darf, sonst verweisen die Variablen Objekte in den Formeln auf falsche Objekte und der Fehler fällt nicht auf.
Daher wollte ich einfach eine Sicherheitsprüfung einbauen, falls man ein Objekt rauslöschen möchte, welches noch in einer Formel verwendet wird.
Caching oder ähnliches geht hier leider nur sehr schwer, werde aber dies auch nochmals in Betracht ziehen. Wobei ... moment ...
Mit einer WeakReference wäre etwas in Richtung von Caching vielleicht möglich. Hmmm ...
Naja, ich überlege mir das dann nochmals nach einer Runde gesundem Schlaf
Grüssli
Halt jetz verstehe ich etwas nicht mehr:
Die Datenbankdatei wird in das Debug-Verzeichnis kopiert und dort werden, wie ich mit dem SQL Server Management Studio herausfinden konnte, die Datensätze richtig eingefügt. Nur wenn ich wieder das Programm starte wird die Datenbank aus dem Projektverzeichnis erneut ins Debug kopiert und überschreibt die andere.
Ist das so üblich?
Ich fragte mich ohnehin wie die Datenbank dann beim Deployment verteilt wird, die sollte ja auch ins Anwendungsverzeichnis oder dasjenige des SQL-Servers und die können sich ja immer unterscheiden.
In einem typisierten DataSet kannst Du jedenfalls die Werte als Parameter übergeben (z.B.
customersDataSet.AddCustomerRow("DerName", "SeineAdresse"...)
oder wie meinst Du? Da sind die Spalten zwar festgelegt, Du vergibst ihr ja gar keinen Namen?
Moin!
Mit der GetSchema Methode des Connection Objekts kann ich mir Informationen über die in einer Datenbank enthaltenen Tabellen/Views etc besorgen. Kann es sein, das diese Daten gar nicht "genormt" sind? Das Ergebnis des "Tables" Schema z.B. sieht unter Oracle anders aus als unter Interbase, die Spaltenbezeichner sind anders und es gibt auf beiden Seiten Spalten die der Andere nicht zurückliefert Ist es nicht gerade Sinn und Zweck von GetSchema diese Informationen einheitlich abfragen zu können? Anscheinend backt da doch wieder jeder seine eigenen Brötchen
die idee, ein transparentes panel oder aehnliches drauf zu legen und das dann auszuwerten hatte ich auch schon, allerdings schiebt sich dsa bloede videopanel immer in den vordergrund!
Afaik nein. Stell die Frage mal im WinAPI Forum. Mit dem Ergebnis (wenn es geht) kann man dann versuchen eine Lösung für .Net zu erarbeiten. (PInvoke etc.)
Ja und Nein! Du hast recht, aber ich habe eine Componenten Factory die Componenten werden über Methoden erzeugt, dies würde ich gern überwachen..die aufruf würde ich genr für mich inter protokolieren ohne exteren Profiler.
Ist den sowas grundsätzlich möglich im code zu laufzeit sowas zu machen??
Naja ok ein kleines WinAPI//C -> GUI hast ja jetzt.. jetzt kannst ein bald ja schon mal eine Pixel (Ball) malen an irgend einer X/Y koordinate im fenster^^ Da rein zeichen Stichwort: WM_PAINT SetPixel
Über NAT solltest Du Dir keine Sorgen machen, das sind Adressierungs- / Routing-Angelegenheiten. Dafür sind die Schichten unter TCP zuständig.
Als Binding auf keinen Fall WS*/HTTP*. Der ganze Overhead muss da verwaltet werden. TCP sollte performanteste sein.
Für die Sicherheit: SSL. Schau mal hier http://msdn.microsoft.com/en-us/library/ms731925.aspx . Sonst google halt mal. Stichwörter WCF Security, SSL, X509
Die MSDN ist Dein Freund, man findet's dort nur nicht immer auf Anhieb.
Auch wenn dein Projekt nicht so groß ist wie du in einem Post bereits gesagt hast, gewöhn es dir aber bitte nicht an Variablen mit Umlauten zu bestücken, es KANN gut gehen, aber vielleicht fällst du damit mal woanders auf die Nase, ist nur ein gutgemeinter Rat und mal ernsthaft, die zwei extra Buchstaben werden dich nicht umbringen, besonders nicht wenn dir Intellisense dabei hilft deine Variablen wiederzufinden :p
Hallo Jungs,
ich schon wieder;)
Ich hab noch 2 Problem bei denen ich googletechnisch auch net weiter komme, also
1:
Ich verwende unter WPF ein UserControl als Pseudo Dialog, welches angezeigt wird (asyncron damit der hintergrund weiterhin arbeitet). Der Fehler kommt in meiner DoEvents Funktion, wleche mir abstürtzt:
private void DoEvents()
{
this.Dispatcher.Invoke(
DispatcherPriority.Background,
new ThreadStart(delegate { }));
}
Exeption:
Dieser Vorgang kann bei deaktivierter Verteilerverarbeitung nicht ausgeführt werden.
2:
Ich lass meine c# Anwendung laufen! Sie fungiert als Server und hat diverse Access Datenbanke offen und schreibt sonstige logfiles etc. ihn ihr programm verzeichniss! So, und wenn ich bspw. jetzt irgendwo unabhängig meinem Programm verzeichniss/dateien was im explorer machen bspw. dateien kopieren, lösche etc. stürtzt mein Server ab.. woran könnte das den liegen versteht das nich? Hat das dateisystem ein problem?
Ich hab mehrere Access Datenbanken exklusiv offen udn schreibe da rein, könnte das das problem sein, das ich ständig Files offen habe? ne odeR?