Hallo
beselbube schrieb:
events ermöglichen es dir einfach, bei bestimmten eintreffenden dingen ein event zu feuern..
Schöner Satz. Dauerschleife?
chrische
In den VB sprachen werden Arrays immer mit den klammern erstellt, ich vermute das arrVendorSpecific dann ein array von Byte Objekten ist, daher auch das "arr" im namen.
Und queryObj ist vermutlich sowas wie ein Dictionary wo man anhand des Keys den Value bekommt, also in C# vergleichbar mit queryObj["keyName"].
In C# wäre ein äquivalent eventuell:
Dictionary<string, byte[]> queryObj = new Dictionary<string, byte[]>();
queryObj.Add("VendorSpecific", GetVendorSpecifics());
..
byte[] vendorSpecifics = queryObj["VendorSpecific"];
Alles nur reine Spekulation.
@loks:
Also wenn man keine Ahnung hat...
Dispose wird nie automatisch aufgerufen. Nur der Finalizer wird automatisch aufgerufen. Der Finalizer und Dispose sind zwar nicht ganz unverwandt, aber auch lange nicht dasselbe.
Und ja, es gibt viele Objekte die nie finalisiert/collected werden wenn man sie nicht Disposed. Üblicherweise gehören da Timer dazu, die rooten sich meist selbst, und entfernen diese GC-Root erst wieder, wenn man sie disposed.
BTW: die Geschichte dass der Finalizer Dispose(false) aufruft nennt man das "Dispose Pattern". Ist ein riesen dummer Patzer von MS, ich kenne keinen der das verwendet. Weil es sinnlos ist. Weil es voraussetzt dass man innerhalb einer Klasse andere IDisposable Member hat UND eigene unmanages Resourcen die man "direkt" selbst kontrolliert. Was schonmal ganz mieses Design ist. Der Finalizer tut das im Übrigen auch nicht selbst, man muss den schon selbst so implementieren dass er es tut. Oder von einer Klasse ableiten deren Finalizer schon passend implementiert ist.
Die Variable i liegt im Scrope des Try blocks, wird somit noch nicht einmal Deklariert wenn er bei func verlassen wird.
Ist im Prinzip das selbe als wenn du schreibst
if (func())
{
int i = 0;
}
(Wenn func keine Exception, sondern ein Boolean returnieren würde)
loks schrieb:
Forlan schrieb:
Habe ich gemacht aber die Anwendung läuft weiterhin nur mit den .dll´s.
Was ja ein eindeutiger Beweis dafür ist das die dll nicht unnötig sind...
Was nicht wirklich seine Frage beantwortet,
hast du mal versucht deine Projektverweiße auf die "Normal-Einstellung" also
auf Default zu setzen ? Guck notfalls mal in den Abhängigkeiten im Projektbaum nach, dort sollten alle aufgelistet sein.
Gibts eine Möglichkeit direkt nach Deserialisierung eine Funktion auszuführen?
Aktuell kennzeichne ich für die Serialisierung meine Klasse mit
[Serializable] und damit klappt das Serialisieren und Deserialisieren erstmal.
Das PRoblem ist halt das ich nach dem Deserialisieren noch als EventListener bei meinen Member anmelden möchte. Prinzipiell geht das durch implementierung des ISerializeable interfaces. Dazu muss ich aber dann den Deserialisierungs Konstructor und Serialize methoden von Hand befüllen für jedes Member. Gibts da irgend einen zwischenweg bei dem ich nur meine Anmeldungen direkt nach dem Serialisieren machen kann? Oder muss ich nun auch von Hand die Daten per
info.Add anfügen und abholen?
ich finde es schwachsinnig das das ToString() des bool eine IFormatProvider Überladung hat ^^
Wenn man sich nämlich die interne Implementation an schaut, dann sieht man:
public override string ToString()
{
if (!this)
{
return "False";
}
return "True";
}
public string ToString(IFormatProvider provider)
{
if (!this)
{
return "False";
}
return "True";
}
Herrlich, ist nicht einmal weiter delegiert
hustbaer schrieb:
Bzw. in allen Teilen die nicht gesplittet werden sollen.
Genau. Letztendlich habe ich mit V2 eine neue Appplikation, die aber unbedingt Teile vom original V1 Code aufruft. Ob der V1 Code hineinkopiert wird oder in eine V1 dll ausgelagert wird ist unerheblich. Letztendlich muss ich immmer noch versionsabhängig aufrufen.
Noch weitere konkrete Vorschläge, wie ihr das machen würdet?
Nadine Gerhard schrieb:
@schmidt-webdesign.net: So funzt das tatsächlich, VIELEN DANK!! Der aktuelle SQL Server 2008 R2 Express Edition läßt sich aber mit dieser Methode nicht einbinden. Hast Du dafür auch einen Vorschlag?
lg Nadine
Wie wär's denn hiermit? Nicht erschrecken, klingt umständlicher als es wirklich ist ...
Hallo,
ich habe aus visual studio 2005 eine Access datenbank in mein projekt hinzugefügt und für die tabelle kunde einen datagridview und ein formular in das formular hinzugefügt. ich habe auch ein bindingnavigator.
wenn ich eine neues datensatz hinzufügen will (+ button) werden die Felder des formulat geleert. ich tippe werte ein und drück nochmal den + knopf. die daten werden im datagridview aufgenommen. ich beende die Anwendung und starte sie neu. die daten werden in der datenbank nicht hinzugefügt.
ich habe folgenden conde hinzugefügt aber bringt nichts
private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
{
kundenTableAdapter.Update(facturaDBDataSet.Kunden);
}
was fehlt noch ? oder was mache falsch
theta schrieb:
Äh, ja, war mir nicht bewusst, dass Du ja nix von dem Ganzen hier verstehst.. vergebene Liebesmüh also. Tja, was solls... ev hilfts wem mit mehr was auch immer im ...
Das siehst du alles viel zu düster!
In WPF gibt es dafür die ObservableCollection<T>, die hat ICollectionChanged implementiert.
BindingList<T> gibt es auch noch. Weiß nicht ob es das auch für Forms gibt.
CSL schrieb:
Wenns nicht direkt geht kannst du den Serial Port auch in eine wrapper Klasse unter bringen.
Naja, ich bin noch in einer Art Probierphase.
Mit Steuerelementen hatte ich bisher kaum zu tun, darum gucke ich mich erstmal noch um, was man so nehmen könnte.
Es ist kein WYSIWYG für Web-Programmiersprachen (PHP, Javascript etc.),
sondern ein WYSIWYG für eine Anwendung, weshalb ich nicht mit CSS arbeiten kann
das sollte aber eigentlich aus dem Beispiel ersichtlich sein,
ansonsten hätte ich die üblichen Tags verwendet.
Auch rede ich nicht davon das die Textbox meine Basis ist, sondern der
Text wird von eben dieser ausgelesen und in ein Label "gesteckt".
Vielleicht wird das Problem ersichtlich wenn ich euch mal einen Ausschnitt
zeige.
if (ChatBoxTextInput.Text.IndexOf('#') != -1)
{
try
{
Color HexColor = ColorTranslator.FromHtml(N_ChatBoxLabel.Text.Substring(ChatBoxTextInput.Text.IndexOf('#'), ChatBoxTextInput.Text.IndexOf('#') + 7));
N_ChatBoxLabel.Text = N_ChatBoxLabel.Text.Remove(ChatBoxTextInput.Text.IndexOf('#'), 7);
CreateLabel(HexColor); -- Erstellung eines neuen Label-Steuerelements
}
catch (Exception) { \* Fehlerbehandlung *\ }
}
Während der Erstellung des neuen Labels setzte ich den ForeColor Wert auf den von ColorTranslator ermittelten Wert und arbeite mit N_ChatBoxLabel weiter, das nun die Farbe HexColor besitzt, sobald ein neuer gültiger Hexwert erkannt wird,
beginnt das ganze von vorne.
Auch wenn es nichts mit dem eigentlichen Thema am Hut hat, labersack 4.0 wieso sollte ein HTML WYSISWYG nicht funktionieren ? Da irrst du dich aber arg !
Ja und? wieso solltest du dich um DesignerCode kümmern, lass da einfach die Finger weg und lass den DEsigner Designer sein und kümmer dich lieber um deinen Code