Hab eine wirklich gute Seite gefunden die Werttypen (value type) und Verweißtypen (reference type) gut erklärt:
http://www.albahari.com/valuevsreftypes.aspx
Ja das ist normal.
http://alexandershapovalov.com/blog/index.php/2008/10/31/linq-to-object-vs-foreach/
Hier habe ich auch mal was dazu geschrieben.(Nick: General)
Der Connector muss auf dem Zielsystem installiert sein.
Oder eben wie schon gesagt eine Setupporjekt.
Oder keinen verweise sonderen eine kopie.
Leider muss man den Connector deinstallieren wenn es eine neue Version gibt. Dadurch kann es sein das andere nicht mehr funktionieren.
Der as-Opertaor macht nix anderes als einen Cast, aber ohne das eine Exception geworfen wird. Er gibt stattdessen null zurück.
Demnach funktioniert
Device d = (Device)Activator.CreateInstance(t);
sehr wohl, es sei denn du hast falsche Typinformationen übergeben.
Ja habe ich! Nur ich weiß eben nicht wie ich aus Einzelbilder ein Animated gif erstellen soll? Habe mich mit der Materie noch nicht wirklich auseinandergesetzt.
Wahrscheinlich würde das ganze schneller ablaufen wenn ich den GifBitmapEncoder verwenden würde.
Lg THE_ONE
Ich kann den Verweis aber nicht finden. Ich lese immer was, von wegen ich solle im Reiter "Com" "Microsoft Excel 11.0 Object Library" hinzufügen. Das habe ich auch gemacht!
Er kennt jedoch immer noch nicht den namespace [...].Interop.[...]!
Unter den ".NET" Verweisen finde ich keinen Eintrag namens "Microsoft.Office.Interop.Excel"
Grüße
Nico
PS.: Bevor jemand fragt; ich habe MS Office 2003
Habe es jetzt anders gelöst.
Der Screensaver läuft in einer eigenen Form, die aufgerufen wird, wenn eine bestimmte Zeit lang nicht im Browser navigiert wurde.
Spiele den Screensaver per DirectX AudioVideoPlayback ab.
Nur wie kann ich dort auf Mausklick reagieren ?
Wenn ich als Owner von Video die Form angebe, wird das Event trotzdem nicht gefeuert !
Wer kann mir erklären, wie ich auf einen simplen sch*** Mausklick reagieren kann, um dann mein Video zu beenden ????
Komme hier einfach nicht weiter.
asc schrieb:
Mr Evil schrieb:
was mir aber dazu einfaellt - keonnte man die ribbons mit wpf bordmitteln nicht nach bilden ?
Ja, aber der Aufwand würde um alle Features zu implementieren wohl höher liegen.
so eine dll hab ich ja gefunden aber das ist nicht so schön
Werde mal toolkit genauer anschauen ..
Knuddlbaer schrieb:
Vllt. findest Du ja hier ein paar Ideen dazu:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-246441.html
Bin ich bereits am Mitlesen. Sehr viel hat es mir allerdings noch nicht gebracht, um meine Verwirrung über die Kopie in C# zu beheben. Dafür allerdings ein paar andere interessante Dinge gelernt
Knuddlbaer schrieb:
Eventuell
Effective C# | ISBN: 9780321245663 More Effective C# | ISBN: 9780321485892
Yay! Wer kommt schon auf eine so simple Idee und der Herausgeber ist sogar Scott Meyers, es ist nur ein anderer Autor.
Die kommen definitiv auf die Liste der Kaufobjekte
Grüssli
ARRgggghhh schrieb:
Hey Freaks,
damit ich in Projekt A die Klassen etc. von Projket B verwenden kann, muss ich ja gezwungenermaßen in Projekt A auf die Klassenbibliothek B verweissen.
Nun gibt es anscheinend ne möglichkeit (vom hören sagen) das man die Klassenbibliothek nich explizit verweisen muss, sonder zur laufzeit an A binden kann. geht das? Un welche grund sollte das haben?
Grüße und Guten morgen;)
Das geht. Du kannst zum Beispiel einen eigenen Auflösungsmechanismus implementieren, in dem Du einen event handler für das AppDomain.CurrentDomain.AssemblyResolve-Event implementierst. Dort kannst Du Deine Assembly wie's Dir passt per Assembly.LoadFile(path); laden und zurückgeben.
Grund dafür kann sein, dass Du Deine Applikation zur Laufzeit konfigurieren willst und Assemblies austauschts ohne die Applikation komplett neu zu bauen/ausliefern.
Das kann immer passieren, wenn in nativem Code ungültige Anweisungen ausgeführt oder geschützter Speicher angesprochen wird.
Also bei ActiveX, C(++)-DLLs, oder sogar in der .NET-Runtime könnte das Problem liegen.
Konrad Rudolph schrieb:
Ein häufig verwendeter Weg ist, das Objekt zu serialisieren und danach wieder zu deserialisieren. Total behindert, aber hey. Kopiersemantik wird in den modernen OO-Sprachen einfach nicht für wichtig genug befunden.
Sollte man Clone() also nicht verwenden?
Wie würde eine Clone(Kopie) mit Hilfe von Serialisieren und Deserialisieren aussehen? Könnte mir da jemand etwas Beispielcode posten.
Lg _THE_ONE_
Mit INotifyPropertyChanged:
public partial class MainWindow : Window, INotifyPropertyChanged
{
public MainWindow()
{
InitializeComponent();
Transaktionen = ser.Load();
}
private static ObservableCollecion<Transaktion> transaktionen;
public static ObservableCollection<Transaktion> Transaktionen
{
get { return transaktionen; }
private set
{
transaktionen = value;
RaiseProperyChanged("Transaktionen");
}
}
private void RaisePropertyChanged(string propertyName)
{
if(PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
Da es sich bei Window allerdings sowieso schon um ein DependencyObject handelt kannst du das gleich benutzen:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Transaktionen = ser.Load();
}
public static ObservableCollection<Transaktion> Transaktionen
{
get { return (ObservableCollection<Transaktion>)GetValue(TransaktionenProperty); }
private set { SetValue(TransaktionenProperty, value); }
}
private static readonly DependencyPropertyKey TransaktionenPropertyKey =
DependencyProperty.RegisterReadOnly("Transaktionen", typeof(ObservableCollection<Transaktion>), typeof(MainWindow), new UIPropertyMetadata(null));
public static readonly DependencyProperty TransaktionenProperty = TransaktionenPropertyKey.DependencyProperty;
}
Für das DependencyProperty gibts übrigens im Studio (2008) auch einen schönen vorgefertigten Codeschnipsel.
Eine dritte Variante, die zu dem auch deutlich weniger Code erfordert wäre es Window.DataContext zu benutzen und das Binding der ItemsSource entsprechend umzubiegen.
hustbaer schrieb:
...
p.p.S.: hast du vielleicht ein anderes OS als ich (ich wie gesagt XP Pro SP3)? Das wäre vielleicht noch eine Erklärung... Oder verwendest du evtl. ne andere (neuere) Framework/Studio Version (ich 2.0/2005 SP1).
Jo, ich hab hier ebenfalls WinXP mit SP3, allerdings entwickel ich mit dem VS 2008 und .NET 3.5 Ich werde das mit dem Grid hier mal ausprobieren. Das man da nicht unendlich Daten reinpumpen kann war mir schon klar, aber das der bei 40 Zeilen schon rumeiert Ich werde hier mal eine special investigation starten
EDIT
So, hab den Test gerade durchgeführt:
Gedocktes DataGridView mit DataTable als Datasource. 10.000 Zeilen je 10 Spalten mit Daten. Die einzig spürbare Verzögerung entstand beim Fetching aus der Datenbank (Firebird 2 auf selber Maschine) mit ca 0,5 Sekunden. Jedoch keine Nebeneffekte beim Ändern von Fenster/Spaltengrösse, Maximieren oder was auch immer. Selbst mit Column-Autosize hakt kaum etwas - Erst, wenn ich per Zellengrösse anpassen lasse. Was aber auch verständlich ist, bei 10.000 x 10 Zellen ^^ Version 3.5 scheint da GUI-technisch tatsächlich etwas effizienter zu arbeiten.
Hi Freunde,
danke für die genauen Informationen.
Ok, sowas ähnliches habe ich vermutet, war mir nur nicht abschließend sicher, ob es nicht doch ein Lösung gibt.
Ich habe die Uhr auf der Seite gelassen, sie beschreibt nun allerdings nur noch, wann die Seite zuletzt aktualisiert wurde, und läuft natürlich nicht mit.
Vielen Dank, dass Ihr Euch für mich Zeit genommen habt.
MFG
DanielK.
Hallo!
Würde gerne erkennen ob eine der Pfeiltasten,in meinem UserControl, gedrückt wurde? Leider liefert mir
private void WorkSpace_KeyDown(object sender, KeyEventArgs e)
{
MessageBox.Show(e.KeyValue.ToString());
}
keine Wert zurück. Scheint so als ob beim drücken der Pfeiltasten kein Event generiert werden würde. Hat vielleicht jemand eine Idee wie ich zu meinen Pfeiltasten komme?
Lg THE_ONE