Laden...

Forenbeiträge von powerbond007 Ingesamt 80 Beiträge

15.11.2012 - 12:49 Uhr

Hallo Beathoven,

das RoutedEvent muss im XAML ohne den "Event"-Suffix angeben werden:

<EventTrigger RoutedEvent="UIElement.PointerPressed" />

Eigene Routed Events werden von der Windows Runtime leider überhaupt nicht unterstützt. Du kannst nur nutzen was da ist. Siehe: How to register a RoutedEvent in a custom control ?

Viele Grüße
Alex

27.06.2012 - 21:50 Uhr

Hallo hawwk66,

Cloning über Expression Trees wäre noch eine Möglichkeit. Du erzeugst praktisch zur Laufzeit entsprechende Clone-Methoden die du cachen und immer wieder ausführen kannst.
Ein Implementierungs-Beispiel (inkl. Benchmark und Vergleich zu anderen Strategien) gibts hier: Fast Deep Cloning

Ich habs selbst noch nicht aktiv verwendet, aber es sieht zumindest viel versprechend aus.

14.06.2012 - 10:40 Uhr

Hallo Hans_Rakte,

deine DPs sind zwar in der Klasse "element" aber für den Typ "panel_cluster" registriert (der 3. Parameter im "Register"-Aufruf). Wenn du den auf "typeof(element)" änderst müsste es passen.

09.06.2010 - 18:50 Uhr

Erzeug die XPS-Dateien doch einfach per Code, wie hier beschrieben: http://blogs.msdn.com/b/fyuan/archive/2005/09/12/463887.aspx

Dann musst du nicht den Umweg über den Drucker gehen.

21.01.2010 - 12:20 Uhr

Hi unconnected,

was du willst nennt man auch "Soft Delete". Hier steht (auf Englisch) wie das geht.

Grüße,
Alex

23.10.2009 - 17:29 Uhr

Launch für Visual Studio 2010 wird (in den USA) offenbar der 22.03.2010 sein.

With Visual Studio 2010 Beta2 out the door we’re getting very excited about wrapping the project up and launching on March 22, 2010.

Quelle: Jeff Beehler

26.04.2009 - 19:59 Uhr

Hi markus111,

das Paket von Microsoft kann nur im Debugger von Visual Studio verwendet werden (siehe auch Beitrag im offiziellen MSDN Forum).
Wenn du den Source-Code ohne Debugger ansehen willst, musst du den NetMassDownloader verwenden.

Grüße,
Alex

15.04.2009 - 19:19 Uhr

Hi,

ja, scheint richtig zu sein. Da NHibernate 2.1 im Moment noch Alpha ist, könnte es sich auch um einen Bug handeln.

Sonst kann ich dir leider auch nicht mehr weiterhelfen. 🙁

Grüße,
Alex

14.04.2009 - 19:53 Uhr

Hi apfelbasti,

ich muss mich korrigieren:
Deine Config ist schon richtig. Meine Informationen beruhten noch auf NHibernate 2.0. Seit 2.1 ist keine ProxyFactory integriert und muss extra konfiguriert werden. (Sowas passiert, wenn man nur die Software und nicht sein Wissen updatet. 😉)

Zum Problem zurück:
Überprüf mal ob du im Ausgabeverzeichnis (<Projektname>\bin\Debug) auch die Assemblies "NHibernate.ByteCode.Castle" und "Castle.DynamicProxy2" hast. Wenn nicht, füg mal in dein Projekt einen Verweis auf beide Assemblies hinzu.

Grüße,
Alex

11.04.2009 - 21:58 Uhr

Hi apfelbasti,

Was ist überhaupt ein ProxyFactory? Wofür ist er verantwortlich, welche Aufgaben sollte er übernehmen?

Die ProxyFactory ist verantwortlich für Erzeugung von Proxys, die Lazy-Loading ermöglichen. Ein Proxy kann Zugriffe auf dein Domain Model so Umleiten, dass Collections und verknüpfte Objekte erst dann aus der Datenbank geladen werden, wenn du darauf zugreifst. Das beschleunigt einfach den Zugriff und spart Netzwerkbandbreite. (Hier eine genauere Erklärung zu Lazy-Loading.)

Wann muss ich einen ProxyFactory konfigurieren?

Eigentlich nur, wenn Du eine eigene ProxyFactory verwenden möchtest. In deinem Fall also gar nicht, da NHibernate schon eine ProxyFactory mitbringt.

Warum wirft NHibernate die besagte Exception?

Wahrscheinlich, weil die Einstellung dafür in der App.config falsch ist. Wenn Du folgende Zeile löschst, sollte es funktionieren.

<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>

Grüße,
Alex

11.04.2009 - 21:44 Uhr

Hi,

das ViewModel enthält nur die Logik, die der View braucht um die Daten aus dem Model(=Businesslogik) darzustellen. Dein Beispiel mit der Analysesoftware stimmt also. Die Businesslogik stellt Daten in einem beliebigen Format zur Verfügung. Diese Daten breitet das ViewModel für den entsprechenden View auf (z. B. verschachtelte Objekte auflösen, Daten zum Zeichnen eines Graphen aufbereiten). Der View bindet an die Daten des ViewModels und stellt sie graphisch dar.

Um auf den Löschbutton zu kommen: Der Button beeinflusst den View nicht direkt, sondern nur dessen ViewModel. Die ListBox ist an eine Collection im ViewModel gebunden, also muss der Button ein Command im ViewModel auslösen, das die Collection im ViewModel leert.

(Das ist zumindest wie ich MVVM verstanden habe. 😉)

Grüße,
Alex

09.01.2009 - 15:28 Uhr

Hi mosspower,

Koda kann das auch und verzögert den Start von Visual Studio nicht so stark wie z. B. ReSharper.

Grüße,
Alex

16.12.2008 - 16:47 Uhr

Ich benutze unter anderem Koda. Hat einige nützliche Funktionen und ist dazu auch noch gratis.

Grüße,
Alex

17.11.2008 - 16:07 Uhr

Hi camelord,

das Thema hatten wir doch schon mal: 😉RESX synchronisieren?

Grüße,
Alex

05.11.2008 - 20:14 Uhr

Hi kkirchhoff,

die Variable tmpCrtl ist immer vom Typen System.Type. "tmpCrtl is ...Control" kann also nie true werden.
Richtig ist:

private void simpleButton1_Click(object sender, EventArgs e)
{
    //...
    Type tmpCrtl = Type.GetType("Test.UserControl");
    if (tmpCrtl == typeof(DevExpress.XtraEditors.XtraUserControl)) //HIER typeof benutzen!
    {
    //...
    }
}

Zum zweiten:

showCrtl = tmpCrtl as DevExpress.XtraEditors.XtraUserControl;

Geht auch nicht da du ein Objekt vom Typ System.Type in ein XtraUserControl casten willst.
Hier musst du Activator benutzen:

showCrtl = Activator.CreateInstance(tmpCrtl).UnWarp() as DevExpress.XtraEditors.XtraUserControl;

Grüße,
Alex

05.11.2008 - 19:51 Uhr

Hi willivonbienemaya,

könnte es sein, dass du die deutsche Version von Visual Studio benutzt und den englischen Installer für SP1 runtergeladen hast?
Hier gibts den SP1 für die deutschsprachige Version.

Grüße,
Alex

05.11.2008 - 19:37 Uhr

Hi muhQ,

die Threadkultur ist hauptsächlich dafür zuständig Zahlen und Daten richtig zu formatieren. Eine neutrale Kultur hat diese Informationen nicht, kann aber für die UICulture verwendet werden, weil es hier nur um die Sprache und nicht um Formate geht.

In der MSDN-Dokumentation für die CultureInfo-Klasse gibts im letzten Codebeispiel eine Auflistung der spezifischen, chinesischen Kulturen (bei "This code produces the following output.").
Im Zweifelsfall würde ich statt zh-CHS zh-CN nehmen, da das wohl die größte Masse anspricht.

Grüße,
Alex

01.11.2008 - 19:10 Uhr

Hi epidemic,

hier gibt's den .NET Framework 3.5-Webinstaller. Der lädt die benötigten Dateien aus dem Netz.
Weiter unten bei "Vollständiges Redistributable Package" gibt's das Offline-Installationspaket. Sind knapp 200MB, dafür läuft die Installation auch komplett Offline.
Beide installieren auch .NET 2.0 und 3.0 falls nötig.

Grüße,
Alex

03.10.2008 - 11:07 Uhr

Hi landau66,

"TableAdapter" ist nur die Bezeichnung des Designers für einen DataAdapter. Wenn du dir mal die Eigenschaften von einem TableAdapter ansieht, wirst du sehen, dass es nur ein DataAdapter ist.

Grüße,
Alex

14.09.2008 - 21:20 Uhr

Hi Seikilos,

du musst BindingFlags.Instance benutzen. Nur dann bekommst du auch die Instanzmember.

foreach (FieldInfo info in type.GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance))
{
    //...
}

Grüße,
Alex

13.09.2008 - 14:27 Uhr

Hi Golo,

der Zeta Resource Editor könnte das richtige sein.
Ich hab das Tool mal kurz überflogen und finde, dass es ganz brauchbar aussieht.

Grüße,
Alex

29.08.2008 - 15:23 Uhr

Hi schaedld,

das geht nicht. Wenn du keine Proxy-Objekte willst, musst du Lazy-Loading für den Typ (z. B. City) ausschalten.
NHibernateUtil.Initialize() lädt zwar alle Daten, die sonst erst beim ersten Aufruf geladen werden, aber wenn man das immer benutzt kann man auch Lazy-Loading komplett abschalten.

Grüße,
Alex

10.08.2008 - 12:17 Uhr

Zum Thema "Checked Exceptions" gibt es auch ein aufschlussreiches Interview mit dem C#-Chefentwickler Anders Hejlsberg:
The Trouble with Checked Exceptions.

Grüße,
Alex

06.08.2008 - 13:23 Uhr

Hi chill-,

das Thema wurde und wird oft diskutiert (z. B. Naming UI Controls). Von Microsoft gibt es auch keine offizielle Richtlinie.
Ich persönlich bevorzuge die Benennung im "Visual Studio-Stil". Also z. B. "userIdTextBox" oder "firstNameLabel". Die Bezeichnungen sind so zwar etwas länger aber du hast nie das Problem, dass dir die Abkürzungen ausgehen.
Letztendlich ist es aber eine Frage des persönlichen Geschmacks, weil es sowieso jeder macht wie er will. 😉

Grüße,
Alex

21.07.2008 - 17:21 Uhr

Hi BhaaL,

vielleicht ist TeamCity ja was für dich. Ist kostenlos und scheint einen Blick wert zu sein.

Viele Grüße,
Alex

01.07.2008 - 17:19 Uhr

Hi zerberos,

IETester kann ich noch empfehlen. Stürzt zwar ab und an ab, aber ist wirklich nützlich.

Grüße,
Alex

26.06.2008 - 17:21 Uhr

Hi Digger,

laut MSDN findet sich TypedTableBase in dem .NET 3.5-Assembly "System.Data.DataSetExtensions.dll".
Und du bist dir sicher, dass du das DataSet mit Visual Studio 2005 erstellt hast?

Grüße,
Alex

26.06.2008 - 17:12 Uhr

Hi Daniel,

laut Blogeintrag dürfte es gehen.
In der deutsche Version dürfte es so gehen (ohne Gewähr 😉):
Extras -> Optionen -> Projekte -> Erweiterte Buildkonfiguration anzeigen.

Grüße,
Alex

26.06.2008 - 17:05 Uhr

Hi BillTuer,

Mit MSBee kann man unter Visual Studio 2005 mit .NET 1.1 entwickeln. Da ich es noch nie ausprobiert habe, kann ich dir aber nicht sagen ob und wie gut es funktioniert.

Grüße,
Alex

10.06.2008 - 14:46 Uhr

Hi Floschi,

der Schema Desinger wurde entfernt, da beim Orcas-Release bereits an einem grundlegend neuem gebastelt wurde. Und sooo schmerzlich finde ich den Verlust auch nicht. 😉
Laut dem offiziellen Blog wird der neue Designer aber im SP1 enthalten sein. In der Beta ist er ja schon.

Grüße,
Alex

28.03.2008 - 13:17 Uhr

Hi Kevka,

das MultiPaneControl auf CodeProject könnte was für Dich sein.

Grüße,
Alex

25.03.2008 - 21:13 Uhr

Serienmäßig gibt´s sowas, wie gesagt, nicht. Es steht dir natürlich frei, falls du die Funktionen nicht nur für ein einziges Projekt brauchst, den DatabaseCreator und C# nachzubauen.
Du kannst auch mal auf Codeproject suchen, ob es sowas Ähnliches vielleicht schon gibt.

Grüße,
Alex

11.03.2008 - 16:33 Uhr

Hi David,

der XML-Schema-Designer wurde in VS 2008 vorerst entfernt, da ein neuer bereits in Arbeit ist. Der soll Mitte des Jahres als kostenloses Addon/Upadate kommen. Link

Gruß,
Alex

09.03.2008 - 20:44 Uhr

@powerbond007:
Doch es ist Schlecht eine solche Exception in einer extra Funktion zu machen,
es wäre eher sinnvoll einen eigenen Exception-Typ zu werfen ( aber auch das ist selten nötig ).

Du hast recht, in diesem konkreten Fall ist es völlig unnötig die Exception in einer externen Methode zu erzeugen. (Vom in der Methode werfen riet ich übrigens bereits dringend ab.) Ich hab mehr an Fälle gedacht in denen an einer Exception noch zusätzlich Vorgänge dranhängen (z. B. Logging). Geht bei genauerer Betrachtung aber auch nicht, da man sich nicht sicher sein kann, dass die Exception auch geworfen wird. (Mist, jetzt hab ich mein eigenes Argument wiederlegt. 8o)

@Konrad Rudolph:
Bei genauer Betrachtung macht es in deinem Fall einfach keinen Sinn die Exception in einer extra Methode zu erzeugen (werfen erst recht nicht). Wirf sie dort wo sie auftritt. Das macht den Code allein schon besser lesbar.

Zum Exception-Typ: Wie FZelle schon sagte, wirfst du ein InvalidTypeException. Die ist nicht für deinen Einsatzzweck gemacht (auch wenns der Name vermuten ließe). Das führt nur zu Verwirrung. Schreib lieber eine eigene Exception (Klasse die von Exception erbt) und wirf die.

09.03.2008 - 17:38 Uhr

Bei deinem Vorhaben und deiner Unvernunft kann ich nur den Kopf schütteln.
Hallo? Geht's noch? Was soll denn daran Unvernunft sein? Wenn Du schon so starke Ausdrücke verwendest, dann begründe das doch bitte ordentlich.

Ich glaube mit Unvernunft meinte JunkyXL, dass es sehr unvernünftig Compiler-Fehler zu ignorieren. Und das seh ich auch so. Der Compiler kann einfach nicht wissen, dass die Methode eine Exception wirft. Außerdem: Wenn mann die Fehler abschalten könnte, würden ja alle Compiler-Fehler abgeschaltet. Das wäre doch garnicht gut.

Dein Konzept, die Exception in einer extra Methode zu werfen ist nicht schlecht, allerdings würde ich auch die Variante von 0815Coder bevorzugen. Das erleichtert das debuggen und das Nachvollziehen von Fehlern, weil die Exception dort geworfen wird wo sie auftritt.

07.03.2008 - 17:45 Uhr

Hi,

probiers mal mit .Unwrap():

MenuScreenDesignerElement element =
        (MenuScreenDesignerElement)Activator.CreateInstanceFrom( "" , Type.GetType( what ).Name ,
        myArgs ).Unwrap();

Grüße,
Alex

27.02.2008 - 15:18 Uhr

Laut offizeller Doku nicht. Dort ist zu mindest kein "lazy"-Attribut für das <property>-Element erwähnt.

Probiers aus:

<property name="Telefon" column="telefon" lazy="false"/>

Warscheinlich wirds aber nicht gehen.

Grüße,
Alex

27.02.2008 - 14:52 Uhr

Hi Fracoon,

probier mal das Lazy-Binding auszuschalten. Dabei überschreibt NHibernate soweit ich weiß die Propertys weshalb sie auch "virtual" sein müssen.

Änder diese Zeile...

<class name="NHibKunde.DBClasses.kunde, NHibKunde" table="nhib.kunden">

in diese Zeile:

<class name="NHibKunde.DBClasses.kunde, NHibKunde" table="nhib.kunden" lazy="false">

Dann sollte es gehen.

Grüße,
Alex

15.02.2008 - 22:59 Uhr

Hi Christian,

so leid es mir tut, aber ich kann den Fehler (mit VS 2008 Pro) nicht reproduzieren.

Vorgehensweise:

  • neues WinForms Projekt
  • deinen Code reinkopiert (die MiscGraphicFunctions.DrawGrid hab ich durch ein DrawString ersetzt)
  • auf die Form gezogen
  • compiled und gespeichert
  • Membervariable zur Panel-Klasse hinzugefügt
  • Designmodus läuft ganz normal

Tritt das nur bei einem Projekt auf oder auch bei neuen?
VS schon mal neu gestartet?
Den Rechner schon mal neu gestartet? (Der gute alte Verzweiflungs-Reboot hilft manchmal wirklich 🙂)

Entweder ich hab was falsch gemacht oder es liegt tatsächlich an deinem VS.

Grüße,
Alex

15.02.2008 - 15:02 Uhr

Hi,

das von Sclot erwähnte Control gibt´s hier: MultiPaneControl
Ist eine recht praktische Alternative zu UserControls.

Gruß,
Alex

13.02.2008 - 21:39 Uhr

Hi killcommander,

ich glaube es versteht niemand hier was du genau möchtest (zumindest ich nicht). Führ die Frage doch ein wenig genauer aus.
Siehe auch: Wie poste ich richtig?

Grüße,
Alex

PS: Sorry herbivore, wenn ich dir die Arbeit weggenommen hab. 😉

27.01.2008 - 11:02 Uhr

Hi Danwe,

das hier ist doch genau was du suchst, oder?

Ansonsten kann ich noch, wenn auch 89$ teuer, Eyefinder von Divelements empfehlen. Kommt dem Orginal wirklich sehr nahe.

Grüße,
Alex

23.01.2008 - 22:00 Uhr

Cool! Kann ich gut gebrauchen!

Aber immer die Instructions beachten: 👅

Download and extract the PDF
Send to your favorite full color printer/copier
Hang on Wall
Code
Smile

Punkt 3 und 5 bitte besondere Beachtung schenken. Ist ganz wichtig. 😉

Grüße,
Alex

07.01.2008 - 17:06 Uhr

Hallo Vinx,

so kann es nicht funktionieren, da du ja als generischen Parameter auch einen Typ angeben kannst für den garkeine Überladung für "GetValue" im Service existiert.

Ich sehe da zwei Lösungsmöglichkeiten:
a) Du machst die Methode "GetValue" im Service generisch. Dort müsstest du dann den Typ von T abfragen und einen Wert ausgeben. Wenn du den Service nicht ändern kannst oder darfst geht das natürlich nicht.

b) Du fragst in deinem Proxy den Wert von T ab und rufst die entsprechende Methode auf. Damit schleppst du aber wieder die Methoden in die Logik, was du ja nicht wolltest.

In einen saueren Apfel wirst du wohl beißen müssen. 😉

Grüße
Alex

04.01.2008 - 12:19 Uhr

Hi Yvonne,

das Interface muss so aussehen:

public interface IUserInputDialog
{
string GetSampleData {get;}
}

Vorher hattest du ein einfaches Feld deklariert, was in Interfaces aber nicht erlaubt ist.

Grüße
Alex

03.01.2008 - 13:48 Uhr

Hallo aede,

lass im if-Block einfach das "StreamWriter" vor "outer" weg.

outer = File.CreateText(@textBox4.Text + bla.ToString());

Sonst erstellst du ja eine zweite Variable vom Typ StreamWriter und mit dem Namen "outer", aber du willst ja die bestehende Variable verwenden.

Grüße
Alex

29.12.2007 - 15:20 Uhr

Hi Akula,

du musst die variable "besetzt" als "public" definieren.

struct SPunkt
{
public bool besetzt;
}

Siehe auch Syntaxfehler selbst lösen

Viele Grüße
Alex

26.12.2007 - 12:49 Uhr

Hi Lumpimen!

Vielleicht ist das oder das ja was für dich.

Grüße,
Alex