Laden...
D
DevHB myCSharp.de - Member
Fachinformatiker Anwendungsentwicklung Deutschland, Bremen Dabei seit 21.07.2006 211 Beiträge
Benutzerbeschreibung

Forenbeiträge von DevHB Ingesamt 211 Beiträge

12.02.2009 - 11:24 Uhr

Danke für die Antwort, das haben wir schon mit dem MS Monitor gemacht, aber nix gesehen.

Bringt mir leider auch nix, muss belegbare Ressourcen für meine Recherche vorlegen können (z.B. MSDN Artikel etc.)

Habe schon einiges im Netz gefunden, allerdings nur Meinungen und in den mir vorliegenden Büchern find ich auch nix.

12.02.2009 - 11:20 Uhr

verwendetes Datenbanksystem: <SqlServer2005>

Hallo zusammen,

ich muss klären, ob der User/das Passwort in einem Connectionstring zum SqlServer verschlüsselt oder im Plaintext übertragen wird.

Das Passwort ist verschlüsselt in einer Config, wird vor dem Connect unseres Mappers entschlüsselt.

Wir nutzen keine SSPI und EncryptPasswort ist bei uns nicht im ConnectionString vorhanden.

Ich habe schon im Netz gesucht, habe aber nur Meinungen und keine Ressourcen (wie MSDN Doku o.ä.) gefunden, ich brauche aber Ressourcen mit denen ich argumentieren kann.

Vielen herzlichen Dank.

04.02.2009 - 15:47 Uhr

Chuck Norris spielt Super Mario Land nach Links durch!

03.02.2009 - 10:25 Uhr

Ich haue mal in die Kerbe.
Ich denke das ht weniger mit Angst zu tuen. Wenn Du z.B. im Bankenberecih arbeitest und Deine Software Funktionen der Bank, sowie Kontenzugriffe usw. erlaubt, dann wirst Du kaum völlig ungeschützen Code herausgeben wollen. In diesem Bereich ist der Schutz des Quellcodes oberste Priorität.

Also ich arbeite in der Bankenbranche bei einer der größten überhaupt.
Da wird keine Software mit Obfuscator verschlüsselt.
Da ist alles so weit geregelt/reglementiert, dass Du überhaupt keine Möglichkeit
hast, die entspr. Dinge anzuschauen.
Und ein Bankberater wird sich wohl kaum den Reflector runterladen um dann zu sehen,
wie seine Anwendung den Kontenzugriff technisch regelt.

Diese sicherheitsrelevanten Dinge werden über sichere Verbindungen, AppServer und Authentifierungs/Authorisierungsmechanismen geregelt.
Zudem laufen Kontenzugriffe über Subsysteme die in keinster Weise irgendwie .NET Code sind.

Es muss generell beim Schützen ein Verhältnis zw. Aufwand des Schützens und des "Wertes" des Quellcodes an sich.

02.02.2009 - 10:47 Uhr

Hallo zusammen,

ich habe Worddokumente die mit Platzhaltern versehen werden (KEINE Textmarken, sondern reiner Text im vordefinierten Format).

Ich scheitere grade daran, Text innerhalb eines Rechteckobjektes zu finden
(Menü "Zeichnen" -> Rechteck).
Darin liegt z.B. eine Tabelle die ich finden und verändern muss.

Wie kann ich dieses Ding finden?
Wenn ich den Makrorecorder anschmeiße ("Aufzeichnen") dann kann ich kein Rechteck auf das Dokument ziehen bzw. erstellen.

Vielen Dank.

23.01.2009 - 11:41 Uhr

Hi Jack,

vielen Dank das mit der Klammerung kannte ich noch nicht.

Passt wurderbar.

23.01.2009 - 11:16 Uhr

Hallo zusammen,

ich habe in einer Anwendung Sprungmarken im folgenden Format:

###TEXT###

Diese möchte ich nun auf Ihre Gültigkeit überprüfen, am liebsten mit RegEx.

Folgende Kriterien gelten:

  • "###" am Anfang und Ende
  • dazwischen dürfen Zahlen, Buchstaben (Groß/klein), - und _ stehen.

Mein Versuch:


^###[A-Za-z0-9]###$

und

^[###]{3}[A-Za-z0-9][####]{3} $

Aber beides scheint laut RegExLab nicht zu stimmen.

Kann mir da vlt jemand helfen?

Vielen herzlichen Dank.

06.11.2008 - 17:01 Uhr

Hi,

Datenbankverbindung immer nur dann aufmachen, wenn Du sie brauchst, .NET beherrscht ConnectonPooling und ist
darauf ausgelegt, dass die Verbindungen kurzlebig sind.

Mach Dir 3 Schichten:

  • GUI
  • BusinessLogic
  • DataAccess

Zusätzlich würde ich mir eine Connectionklasse bauen, die die Verbindung zur DB herstellt, Commands (SPs, CRUD, VIEWS o.ä.)
absetzt und Dir Daten liefert.

In unseren Projekten haben wir im DataAccess den fachlichen DB Teil gelagert
(eine Schicht drunter der "richtige" Datenbankzugriff, manche nehmen die Schicht aber auch für die DB Operationen an sich.

Die BL holt sich die Daten über den DAL (DataAccess Layer) und reicht sie an die GUI
hoch.

Wenn Du möchtest kann Du die GUI noch mit einem MVC/MVP Pattern versehen, musst Du aber wissen.

Ein gutes Beispiel ist folgendes:
Rainbirds AppServer

Ich kann Dir nur folgende Entwicklungsunterstützung für Oracle empfehlen:
Oracle DA Components

So das war kurz umrissen meine Meinung/mein Wissen.

05.11.2008 - 15:21 Uhr

Hi,

BE = BusinessEntity:
Eine Datenklasse die Daten über Properties bereitstellt. Wir arbeiten mit diesen anstatt mit DataTables/Rows/Set.

Aber Properties abrufen und Pflichtfelder prüfen - sind das nicht verschiedene Stiefel?

Das wird über unser eigenes BindingSystem + Framework geregelt und ist auch so in Ordnung.
Beim Binding wird im CustomBinder (unserer) eine Validierung gemacht, die dann die entsprechenden Buttons/ErrorProvider schaltet.

04.11.2008 - 15:49 Uhr

Hallo zusammen,

ich habe von Infragistics ein Control an der Hand, die UltraExpandableGroupBox,
ein Panel mit einem Header, welches sich ein / ausklappen lässt.

Darin liegen ein paar Controls: Textfelder, DateTimePicker.
Diese Controls sind an einen Binder gebunden, der von einer BindingSource abgeleitet ist.

Nun wird in unserer Anwendung der Speichern - Button erst freigeschaltet, wenn innerhalb unseres Frameworks Pflichtfelder geprüft werden (Attribute über den BEs/BOs).

Ich trete im Edit Modus in die Form ein (die Box ist zugeklappt), laut Framework müsste der Speichern freigeschaltet sein, dies ist aber nicht der Fall, da das Binding noch nicht durchgeführt wurde (anscheinend).

Wenn ich nun die Box aufklappe, wird der Speichern Button frei.

Mir ist klar, dass Ihr ohne Kenntniss der Komponenten/des Framework nicht spezifisch helfen könnt, nur kommt es mir so vor, als ob es das "normale" Bindingverhalten in WinForms ist.

Liege ich richtig, d.h. die Bindings werden erst komplett durchgeführt, wenn die Controls sichtbar sind ?
Ein Blick in den Reflector hat mir leider auch nix gebracht.

Vielen Dank.

03.11.2008 - 16:08 Uhr

Hi,

ansonsten gibt es noch FireBrand oder ähnliche Schulungszentren.
Bei FireBrand sind es dann glaub ich 9 Tage am Stück (letzter Tag Prüfung) für den ersten Titel (3 Bücher, .NET Framework, WindowsClient + noch eins).

07.10.2008 - 10:05 Uhr

Hallo zusammen,

ich weiß gar nicht in welche Rubrik dies Thema gehört, wenn ich falsch bin, verschiebt mich ins richtige Forum.

Zum Problem:

Zur Zeit entwickle ich in unserer Anwendung ein ScheduleChart Module, welches Aufgaben und deren Ressourcen (=Mitarbeiter) darstellt.

Es gibt zwei Ansichten
_Aufgaben

  • Ressourcen

und
Ressourcen

  • Aufgaben_

die auf der gleichen Datenmenge beruhen.
Die Datenmenge wird geladen und kann verändert werden. Zusätzlich gibt es die Möglichkeit, die Ansicht umzuschalten (Aufgabe-Ressource, Ressource-Aufgabe).
Die Datenmenge ist zu dem Zeitpunkt noch nicht gespeichert (in DB), das heißt sie liegt nur im Speicher.

Es können locker mal > 500 Aufgaben mit n Ressourcen sein, die dargestellt werden.

Nun ist mein Problem, dass ich folgende Datenstruktur habe
(für die Sicht Aufgabe-Ressource)
HauptBE

  • ListAufgabe

-ListAufgabe hat dann ListResssourcen.

und die beim switch der Ansicht eigentlich die Ressourcen als Aufgabe und die Aufgabe als Ressource aufbauen müsste.

Dies ist denke ich nicht sehr performant (wir verwenden abgeleitete Collections).

Ich brauche also einen Ansatzpunkt, wie ich das o.b. Szenario implementieren kann, ohne Grundstrukturen zu durchbrechen (Austausch Collection oder BEs).

Ich habe mir schon überlegt, ob ich nicht die Listen der Aufgaben und Ressourcen geteilt an das Control hochreiche und dort dann den Merge mache.

Hat das event. Performancenachteile?

Falls Ihr einen besseren Titel fürs Thema findet, sagt bescheid, mir fiel nix besseres ein.

Vielen Dank für Eure Unterstützung.

01.10.2008 - 10:42 Uhr

Hi,

HERVORAGEND!
Es funktioniert 😁

Vielen Dank.

01.10.2008 - 10:32 Uhr

Hi JuyJuka,

werde ich ausrichten, DataSources waren in dem Projekt allerdings noch nicht drin.
Melde mich, wenns probiert wurde.

01.10.2008 - 09:48 Uhr

Hallo zusammen,

ein Kollege hat das Problem, dass wenn er eine BindingSource auf eine Form zieht,
man in den Properties bei "DataSource" den klickbaren Text "Add Project DataSource" nicht mehr hat.

Auch ein Klick auf "Menü-Data-Add.." bringt nix, da wird kein Dialog aufgemacht.

Hat jemand schon mal solche Probleme gehabt bzw. kennt eine Lösung?

Vielen Dank.

04.09.2008 - 10:43 Uhr

Hi,

ich habe schlicht und ergreifend das "TranslateTransform" vergessen.

Thx nochmal.

04.09.2008 - 10:29 Uhr

Hi,

an Deinem Code war soweit nix unklar, nur daran, wie ich das nun auf mein Problem anwende.

Ich suche grade eine Möglichkeit, das die Monate beim Scrollen auch richtig dargestellt werden (siehe Fehler im Screenshot bei den Monaten ab nach Okt08).

Die Monate Nov08/Dez08 sind ja schon gezeichnet worden, jedoch außerhalb des sichtbaren Bereichs des UserCtl.

Macht es vielleicht Sinn, das Zeichnen der Monate/Linien in ein Image zu zeichnen und nicht auf das UserCtl, so dass man das Image scrollt ?

Vielen Dank für Deine Mühe.

04.09.2008 - 10:02 Uhr

Hi,

ich sehe grade nicht, wie ich herausfinde, welchen Bereich ich neuzeichnen muss.
Am Bsp. des Screenshots müssten die Monate "Nov08, Dez08" gezeichnet/angezeigt werden.

Ich müsste mir wohl den zu erst / zu letzt angezeigten Monat merken und dann entspr. die Neuzeichnung vornehmen, oder übersehe ich etwas?

Vielen herzlichen Dank.

04.09.2008 - 09:41 Uhr

Hi,

vielleicht stehe ich auch grade auf dem Schlauch, aber verstehe grade nicht, wie man das umsetzen kann/soll.

Im Paint durchlaufe ich eine List<DateTime> und zeichne folgendermaßen (im OnPaint):


 int currentPos = 0;  
foreach (DateTime dt in this.DateList)
{
     // build celltext with month 
     string cellText = this.MonthNames[dt.Month] + dt.Year;
     if (!cellText.Equals(string.Empty))
     {
           // calculate length    
           int textLen = Convert.ToInt32(e.Graphics.MeasureString(cellText, textFont).Width);
           // draw month name
          e.Graphics.DrawString(cellText, textFont, Brushes.Black, new PointF(Convert.ToSingle(currentPos), 3F));
          // update position with textlen and rightspace
          currentPos += textLen + RIGHT_SPACE;

         // draw vertical line (startPos)
         Point startPoint = new Point(currentPos, 0);
         Point endPoint = new Point(currentPos, this.Height - 3);// - hScrollBar1.Height);
         e.Graphics.DrawLine(linePen, startPoint, endPoint);
       }
}
this.CompleteDrawWidth = currentPos + 10;
this.UpdateScrollBar();


// *******************
private void UpdateScrollBar()
{           
    this.AutoScrollMinSize = new Size(this.CompleteDrawWidth, 5);
}

Wenn ich nun nach Rechts scrolle, dann wird nicht richtig gezeichnet/dargestellt:

Vielen Dank.

04.09.2008 - 08:50 Uhr

Hallo zusammen,

ich habe ein UserCtl, auf dem ich die Monate von einem Start/Enddatum zeichne.
Der gezeichnete Text kann nun die Breite der UserCtls überschreiten und nun möchte ich eine horizontale Scrollfunktionalität einbauen.

Wie kann man das am besten lösen ?

Vielen Dank.

04.09.2008 - 08:44 Uhr

Hallo,

vielen Dank Euch beiden. Es funktioniert wunderbar.

03.09.2008 - 14:42 Uhr

Hallo zusammen,

ich muss eine Ansicht erstellen, in der alle Monate von einem bestimmten Zeitraum angezeigt werden:

Jan08 Feb08 Mae08 Apr08 .... Jan09 Feb09 Mae09...

Diese Ansicht soll Dock=Bottom auf einer Form liegen.
Auf dieser Ansicht soll ein Rechteck draufliegen, welches in der Größe und Position verändert (nur horizontal) werden soll.
Für dieses Rechteck habe ich ein transparentes UserCtl erstellt (von dieser Seite), welches im OnPaint ein Rectangle zeichnet.
Über die Fläche des Rectangles kann man das UserCtl verschieben, über die linke und rechte vertikale Linie in der Größe ändern.

Das funktioniert soweit auch alles ganz gut.
Wenn ich nun z.B. ein TableLayoutPanel mit den entsprechenden Columns erstelle (in den Columns liegen z.B. Labels) funktioniert das ganze nicht mehr, da ich das UserCtl nicht drüberliegend hinbekomme (ist irgendwie immer in der letzten Column).

Nun dachte ich mir, ich nehme einfach ein Panel, Dock=Bottom und zeichne dort die entsrpechenden Daten rein und lege das UserCtl darüber (über das Panel_Paint event).
Das funktioniert z.Z. auch nur bedingt, da die geschriebenen Daten nach dem Verschieben des UserCtls irgendwie ständig neu geschrieben werden und damit manche Bereich komisch schwarz sind.

Vielen Dank für Eure Hilfe.

Das Problem war, dass ich das Surface des Panel nicht gecleared habe.
Allerdings flackert es nun ein wenig beim hin/herschieben des UserCtl.

29.08.2008 - 11:14 Uhr

Hallo zusammen,

ich teste grade ein wenig das DBI Scheduler Control und bin eigentlich ganz zufrieden damit.
Ich wollte das Ding nun ableiten und mein eigenes DataBinding aufsetzen + Spezifizierungen vornehmen.

Wenn ich das allerdings als "Component" erstelle, bekomme ich immer eine NullReferenceException, wenn ich auf einem Item auf den leeren Bereich der Zeitleise mit der Maus gehe.

Wenn ich ein UserControl verwende, dann funktioniert alles wunderbar.

Kennt jemand dieses Control und hat damit schon gearbeitet ?

Vielen Dank.

05.08.2008 - 13:34 Uhr

Nachtrag:

Die Übersichten liegen in einem Fenster (IsMdiParent = true).
Beim Laden wird in folgender Reihenfolge die Form angezeigt:

  • Form.Show()
  • Form.WindowState = Maximized
  • Form.Update()

In der BaseForm der Übersichten ist OnPaint überschrieben in dem ein bißchen Farbe gezeichnet wird.

Zusätzlich ist noch folgendes drin:

 
protected override void OnResize(EventArgs e)
{
         
      base.OnResize(e);
      Invalidate();
}

05.08.2008 - 12:51 Uhr

Hallo zusammen,

wir haben mit unserer Anwendung ziehmlich Probleme bei der Benutzung im Remotezugriff / Terminalserver.

Dies betrifft allerdings nur Übersichten, welche in einem Splitterpanel dargstellt werden.
Die Formen leiten alle von einer BaseForm ab, die Resizemethoden sind mit "Invalidate()" versehen.

In der Anwendung werden nur Infragisticts Controls verwendet.

Könnt Ihr ohne Quellcode zu sehen event. ein paar Tips/Hinweise/Erfahrungsberichte geben?

Vielen Dank.

P.s.: Falls noch Angaben gebraucht werden, kann ich sehen, ob ich die posten kann.
Nochmals vielen Dank.

04.08.2008 - 11:34 Uhr

Hat vielleicht jemand ein paar gute Links/Ressourcen zu dem Thema, die MSDN ist nun
für die Installergeschichten nicht wirklich geeignet.

04.08.2008 - 08:58 Uhr

Hallo zusammen,

ich habe ein Setupproject in Visual Studio 2005.
Dort möchte im Reiter "FileSystem" den Namen der Shortcuts variable machen (Versionnummer).

Mit "Projektname V [Version]" gehts leider nicht.

Hat jemand vielleicht eine Idee ?
Im Netz habe ich nix gefunden, lasse mich aber gerne etwas Besserem belehren.

Vielen herzlichen Dank.

19.06.2008 - 10:06 Uhr

Hallo Gemeinde,

ich wurde eben gefragt (DB System Access), warum man denn nun kurzlebige Verbindungen in .NET verwenden sollte.

Mir ist nur eingefallen, dass ADO.NET so arbeitet (z.B. ConnectionPooling) und Ressourcen gespart werden.

Ich habe auch schon den Artikel gelesen, suche jedoch noch ein paar Gründe.
Irgendwie fallen mir nämlich nicht mehr so viele ein, zumindest keine die über den Artikel hinaus gehen.

Die Programmierung mit kurzlebigen Verbindungen haben ja nun nix mit dem DB System zu tun oder doch (bzw. ist es bei Access anders)?

Vielen herzlichen Dank für meine Wissensauffrischung.

28.05.2008 - 08:55 Uhr

Hallo,

wir haben ein kleines Tool, welches Controls auf einer Form mit Aktionen versorgt.
Zur Zeit werden diese in die ResX Files der entspr. Form geschrieben.

Wie kann ich "InitializeComponent" in der IDE manipulieren?
Gibt es da Bibliotheken o.ä. oder muss die per Hand erfolgen?
Mir geht es konkret um Click Events von Controls.

Vielen Dank.

23.05.2008 - 10:56 Uhr

Hi,

Du kannst die Exe/Dlls z.B. mit dem Reflector auslesen und damit ist der Key sinnlos.
Wir haben in unserem Projekt eine MixedCDll (ATL) dazwischen geschaltet, die
den Key speichert, somit ist es relativ sicher, da AFAIK die C
Dll nicht lesbar ist
(in kompilierter Form).

20.05.2008 - 12:32 Uhr

Hi,

ich habe eine INet Seite im Netz gefunden, mit der man decoden kann.
Allerdings tauchen dort noch ein paar Fragezeichen drin auf.

Wie würde die Dekodierung in C# aussehen, stehe da grade aufm Schlauch ?

Vielen Dank für Eure Hilfe.

20.05.2008 - 10:09 Uhr

Hallo zusammen,

wir haben in unserem Projekt ein Tool, mit dem Controls dekoriert werden.
Die Einstellungen der Controls werden in der Form.resx gespeichert, anscheinend
verschlüsselt.


 <data name="executeAction.Action1" mimetype="application/x-microsoft.net.object.binary.base64">
    <value>
xxxxxxx
</value>

Kommt man irgendwie an den Klartext ran ?

Vielen herzlichen Dank.

14.05.2008 - 08:22 Uhr

Wunderbar, vielen Dank Euch beiden.

14.05.2008 - 07:43 Uhr

Hallo zusammen,

ich möchte mittels RegEx die Eingabe eines Textfeldes überprüfen.
Dort müssen mindestens 1 und maximal 8000 Zeichen eingegeben werden können.
Es sind alle Zeichen erlaubt, allerdings habe ich ein Problem mit Multiline.

Erst habe ich es mit "\s" versucht, das hat aber auch nix gebracht.
Auch die Einstellung der RegExOptions für Multiline hat nix gebracht.

So sieht meine RegEx aus:


^.{1,8000}$

Wenn ich nun mit
Regex regEx = new Regex(validationObject.RegExpression, validationObject.Options);
teste, kommt leider false heraus.

Hat da jemand eine Idee ?

Vielen Dank.

27.03.2008 - 08:56 Uhr

Hallo zusammen,

gibt es eine Möglichkeit, den Feld "Status" eines Workitems weitere Auswahlmöglichkeiten hinzuzufügen ?
Zur Zeit sind dort "Active, Resolved, Proposed, Closed" drin.

Vielen Dank.

25.03.2008 - 15:17 Uhr

😁
Ich war 2005 das erste mal auf der Fusion, dort auch dann das 1. mal richtig Goa gehört, danach wars geschehen.
D&B höre ich seit 1996 und seit 04/05 eigentlich nur noch @home, kaum noch Parties o.ä.
Ich brauch da eher die Sachen die krachen, das andere ist für mich irgendwie nur noch gedüdel 😉

Bei Goa steh ich auch eher auf die Festivals wie z.B. Wonderland OA.

25.03.2008 - 13:53 Uhr

Bei mir läuft eigentlich nur Goa (PsyTrance, Proggy) und D&B (da aber eher Neuro, Liquid und die guten alten Sachen von 1999 - 2001).

Kann mich dem Kommentar von "chrische5" aber nur anschließen, für mich echt erschreckend, das Leute sowas hier posten.

08.02.2008 - 11:56 Uhr

Hi,

entweder über


listView1.Columns[0].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);

Oder über Graphics.MeasureString (mit ItemText) die längste Breite auslesen und als ColumnWidth setzen.

05.02.2008 - 09:51 Uhr

Hi,

oder Du änderst das Ausgabeverzeichnis der DLL in der Projecteigenschaften.

27.11.2007 - 19:30 Uhr

Hi,

ich würde mir überlegen, ob hier nicht eine StoredProcedure geeignet wäre.
Übergib die Werte an die SP als Array o.ä. und lass den DB Server arbeiten.

21.11.2007 - 08:11 Uhr

Hi JuyJuka,

siehe PM 😉

20.11.2007 - 10:57 Uhr

Hi,

habe nun doch eine Verbindung bekommen, in dem ich RechnerName\Servername und DB Name nicht ausgewählt habe, sondern es direkt eingegeben habe.

Werde mir Dein Projekt die Tage zu Gemüte führen.

20.11.2007 - 10:25 Uhr

Hi,

ja, meine die ComboBoxv mit der Serverauflistung.
Habe nun einen Eintrag in der Registry "RECHNERNAME#SQLEXPRESS",
vorher war dieser Eintrag leer!

App.Config angepasst auf "RECHNERNAME#SQLEXPRESS".
(Auch mit Rechnername\SQLEXPRESS gehts nicht).

Aber es taucht immer noch kein Server in der Auflistung auf.

20.11.2007 - 09:51 Uhr

Hi,

woran kann es liegen, wenn mein SqlExpress nicht in der Liste für die DBServer eingetragen ist (ComBox ist leer).
Beide Dienste laufen, ich kann von anderen Anwendungen und im VS Studio den Server und die DBs aufmachen / ansprechen.

App.Config ist angelegt und der ConnString ist definitiv richtig.

13.11.2007 - 10:48 Uhr

Hallo,

mmh, ich dachte, die Meldung würde auf t (= typeof(T) ) zielen.

T ist in meinem Fall eine simple Klasse mit 3 Properties (alle String).
Wenn ich nun


string s ="test";
pi.SetValue (t , s, null);

mache, bekomme ich immer noch die gleiche Meldung.
"pi" ist vom Type System.String.

Vielen Dank.

13.11.2007 - 10:31 Uhr

Guten Morgen zusammen,

ich habe folgende Methode:


public class MapperBase<T> where T : class
{
    
     public T Map()
     {    
          // get Type of T
          Type t = typeof(T);
        
          // get all Properties
          PropertyInfo[] infos = t.GetProperties();

          // run through properties
          foreach (PropertyInfo  pi in infos)
         {
             object[] attribs = pi.GetCustomAttributes(typeof(MapAttribute), true); 
             
                // did we have an MapAttribute ?
                if ( (attribs != null) && (attribs.Length > 0) )
                {
                      // Hier kracht es mit der Meldung
                      // Object does not match target type
                      pi.SetValue( t, value, null );
                }
         }
     }
}

Ich bekomme bei dem "pi.SetValue(...)" eine TargetException, sehe aber grade das Problem nicht.
Wie kann für "T" Werte seiner Properties setzen ?

Vielen herzlichen Dank.

06.09.2007 - 07:17 Uhr

Guten Morgen,

das macht keinen Unterschied, ob object oder EmployeeBE.
Da ich für alle BEs eine Basisklasse habe, habe ich T einfach mal durch diese
ersetzt, auch keine Änderung.

Muss ich wohl oder übel meine Anwendung ein wenig umstricken, schade.

05.09.2007 - 14:05 Uhr

Hi,

nach langer Recherche bin ich auch nicht wirklich fündig geworden.
Den Link kannte ich schon, werde mir das Thema aber nochmal genauer anschauen.

Ich werde nun erstmal überprüfen, ob ich es nicht anders lösen kann.

Vielen Dank für Deine Mühe.

05.09.2007 - 11:05 Uhr

Hi,

habe mir das angeschaut, allerdings seh ich da keine Lösung meines Problems,
vielleicht bin ich auch nur blind. 🤔

05.09.2007 - 08:13 Uhr

Hallo zusammen,

ich möchte mir eine Basisform erstellen, auf der ein Speichern/Abbrechen Button ist.
Diese Form möchte ich in den entspr. abgeleiteten Formen noch weiter bearbeiten (Controls hinzufügen, Layout ein wenig ändern etc.).

Ich habe schon im Forum gesucht, allerdings haben die Tips nicht geholfen, z.B. die Basisform in eine extra DLL auslagern.

Wenn ich meine abgeleitete Form im Designmodus öffne, dann kommt folgende Meldung:> Fehlermeldung:

The designer could not be shown for this file because none of the classes within it can be designed. The designer inspected the following classes in the file: frmWrkEmployee --- The base class 'amt.Forms.Base.frmWrkBase' could not be loaded. Ensure the assembly has been referenced and that all projects have been built.
Hide

at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader. EnsureDocument(IDesignerSerializationManager manager)
at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader. PerformLoad(IDesignerSerializationManager manager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader. PerformLoad(IDesignerSerializationManager serializationManager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader. DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents .OnLoadCompleted(Int32 fReload)

Die Projekte sind alle erfolgreich kompiliert.
Meine Basisform sieht so aus, hat also auch einen parameterlosen Konstruktor:


public partial class frmWrkBase<T> : Form, IWorkForm
{
     // members
     // properties

     public frmWrkBase()
     {
            InitializeComponent();   
     }

     // ...

}

Hat da jemand eine Idee ?

Vielen herzlichen Dank.