Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Razer
Thema: Verhindern einer OutOfMemoryException, wenn die Datei als ganzes zu groß für den Hauptspeicher ist
Am im Forum: Rund um die Programmierung

Vielleicht hilft es, wenn du deinen eigentlichen Algorithmus zunächst unangetastet lässt.
Stattdessen könntest du eine Klasse implementieren, welche die Zugriffe auf das Dateisystem verwaltet.

In deinem Algorithmus-Code verwendest du dann z.B. statt dem StreamWriter deine eigene Klasse, der Einfachheit halber kann die Schreiben-Methode dort ja ähnlich aufgebaut sein, wie beim StreamWriter.

So könntest du in Ruhe an der Umsetzung der von deinem Algorithmus angeforderten Lese-/Schreibzugriffe arbeiten.
Dein Algorithmus verwendet das Ganze dann als Black-Box - der Unterschied bestünde lediglich darin, dass Zugriffe dann durch die dahinterstehende Zugriffsstrategie mehr Zeit benötigen.

Ich könnte mir vorstellen, dass es der Übersichtlichkeit nicht gut tut, wenn man die beiden Aufgaben vermengt.

Viele Grüße

Thema: Programmier-Spiel: Sonderausgabe zum Muttertag
Am im Forum: Smalltalk

Zitat von Tarion
Wenn es nur eine ist die in der Konsole angezeigt wird aber aus Primzahlen berechnet ist.

Primzahlen zum Muttertag :D
Ich weis nicht, aber ich glaube ich hätte dich enterbt :D

Thema: Für Studenten: Office 2010 Professional | 52€
Am im Forum: Szenenews

Auch als Entwickler kommt man um eine Office-Suite ja kaum herum.

Für Studenten bietet Microsoft aktuell Office 2007 Ultimate für 52€ an. Das Besondere daran ist, dass ein man beim Erscheinen von Office 2010 eine kostenloses Upgrade auf dieses bekommt.

Die Lizenz bleibt auch nach dem Studium erhalten und der kommerzielle Einsatz ist zugelassen. Es handelt sich also quasi um eine vollwertige Retail-Lizenz.

Für 52€ ist das denke ich ein sehr guter Deal

http://www.microsoft.com/student/discounts/daswahreoffice/default.aspx

Thema: VS2010 Trial: In MSDNAA konvertieren?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Lösung gefunden :-)

Das VS_Setup, gestartet vom MSDNAA-Datenträger, bietet die Möglichkeit die Lizenz auf die MSDNAA-Edition zu ändern.

So far,
Razer

Thema: VS2010 Trial: In MSDNAA konvertieren?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Guten Abend,

mir ist gerade ein Missgeschick unterlaufen:
Meine Annahme war, dass man über MSDNAA einen Product-Key bekommt. Das ist aber offenbar nicht der Fall. Stattdessen ist offenbar das Image entsprechend angepasst.

Kennt jemand eine Möglichkeit, die installierte Trial im Nachhinein noch in eine MSDNAA-Ultimate umzuwandeln?

Möchte das ganze eigentlich nur ungern erneut aufspielen, denn das VS-Setup rührt gefühltermaßen im ganzen System herum.

Gruß,
Razer

Thema: Visual Studio 2010 has been released!
Am im Forum: Szenenews

Ultimate wäre tatsächlich ein dickes Paket..

Thema: Visual Studio 2010 has been released!
Am im Forum: Szenenews

Der erste der morgens bei MS im Büro ist macht sich nen Kaffee und schaltet nebenbei VS2010 frei ;-)

Hier gibts den Countdown:
http://www.microsoft.com/visualstudio/en-us/watch-it-live/

Thema: Visual Studio 2010 has been released!
Am im Forum: Szenenews

Leider aber nach wie vor alles auf den RC eingestellt.
Denke die US-Zeit ist relevant.

Thema: IPv6: Was tun, um ein Desaster zu verhindern?
Am im Forum: Smalltalk

Ich würde nichts unternehmen.

Warum für einen Standard in Panik verfallen, der möglicherweise erst in Jahren wirklich verwendet wird?
Es wird nie so heiß gegessen wie gekocht.

Am Ende wird es laufen wie im Jahr 2000: es passiert- nichts. Der Knall bleibt aus.

Ich glaube eher, die Provider werden peu a peu umstellen und die Software-Hersteller werden im gleichen Maß ihren Netzwerk-Code anpassen.

Hier und da wird die Buchhaltungssuite RechnungsKönig-2000-Schlag-mich-tot-Edition wegen Problemen nochmal nachgepatcht, das wars.



*EDIT:
Vielleicht klingt das leichtsinnig. Aber nach Jahr 2000-Problem, BSE, Vogelgrippe und Dauer-Terror-Alarm mag ich an die Apokalypse nicht mehr so recht glauben.
So auch in diesem Fall.

Thema: Spiele-Engine: Kann man physikalische Regeln auf soetwas wie Magie o. Geistererscheinungen anwenden?
Am im Forum: Smalltalk

Für gewöhnlich bezeichnet man als Geisterscheinungen doch Phänomene, die sich eben nicht mit dem derzeitigen Stand der Naturwissenschaften erklären lassen bzw. bei denen es zumindest noch nicht gelungen ist.

Wenn du nun einen Feuerzauber hernimmst, dann ist es, sobald du ihn in Formeln gießen kannst, doch eigentlich kein Feuerzauber mehr - stattdessen ein irgendeine Gerätschaft, die eben z.B. Feuer erzeugt.

Insofern versuchst du etwas übernatürliches mit natürlichen Mitteln zu beschreiben..

Thema: Visual Studio 2010 Release Candidate ist da
Am im Forum: Szenenews

Ja.. Die VS-Produktseiten sind auch weiterhin alle etwas hintendran..
Die RC-Site ist allerdings aktualisiert worden:
Visual Studio 2010 and .NET Framework 4 Release Candidate

Dort gibt es auch die anderen Versionen (Pro etc.).
Eine deutsche Version scheint jedoch nicht verfügbar zu sein.

EDIT:
hmm, um die 100kbyte/s im Augenblick. Da ist definitiv was los.

EDIT2:
@talla jop, warst schneller ;-)

Thema: Visual Studio 2010 Release Candidate ist da
Am im Forum: Szenenews

Visual Studio 2010 Ultimate RC ISO

http://bit.ly/c1YT6Q

Gruß,
Razer

Thema: [gelöst] Visual Studio Crash beim Erstellen von WPF-Apps / WPF-Apps laufen nicht
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

So, ich habs :

Es war eines der Tools, die im Hintergrund liefen - habe monentan das Samsung Utility für meinen TFT und die ATI Tray Tools genauer im Visier.

Nach dem Deaktivieren bzw. beenden alle nicht Windows-eigenen Prozesse und Services lief wieder alles Problemlos: WPF Apps, WPF-Projekte in VS, Expression Blend.

Da WPF ja recht grafiklastig ist, passt das gut zum aufgetretenen Fehler. Einige hardwarenahe Hooks stehen hier offenbar auf Kriegspad mit der WPF Runtime.

Gruß,
Razer

Thema: [gelöst] Visual Studio Crash beim Erstellen von WPF-Apps / WPF-Apps laufen nicht
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Wie befürchtet: Das Problem besteht weiterhin.

Offenbar wird das Problem eher von der zugrunde liegenden .NET Runtiome verursacht, denn der Fehler tritt sowohl mit als auch ohne SP1 und unabhängig von der Installation des Hotfixes auf.

Wie eingangs erwähnt starten ja auch fertig kompilierte WPF Anwendungen nicht.

Gruß,
Razer

Thema: [gelöst] Visual Studio Crash beim Erstellen von WPF-Apps / WPF-Apps laufen nicht
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Okay, danke. Ich glaube diesen Patch hatte ich jedoch bereits erfolglos getestet, muss aber nochmal nachschauen.

Ich schreibe hier wenn sich etwas neues ergibt.

Gruß,
Razer

Thema: [gelöst] Visual Studio Crash beim Erstellen von WPF-Apps / WPF-Apps laufen nicht
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

in den letzten Tagen wollte ich etwas mit WPF experimentieren , bzw.
damit ein kleineres Projekt umsetzen.
Leider hat mir hierbei VS/.NET-Runtime einen Strich durch die Rechnung gemacht.
Folgende Probleme treten auf:

- VS stürzt beim Erstellen einer neuen "WPF-Anwendung" (Neues Projekt) ohne spezifische Fehlermeldung ab ("*.exe... hat ein Problem festgestellt")

- WPF-Anwendungen starten zwar, deren Benutzeroberfläche wird jedoch nicht angezeigt, es läuft ledeglich der Prozess mit mit geringer Speicherbelegung.

Installiert ist:

- .NET Runtime 3.5 SP1
- VS 2008 mit SP1, fast Vollinstallation
- SQL Server 2008 Express mit AS

Alles in allem tummeln sich unter "Programme" also mehrere Dutzend .NET.Dev. bezogene Einträge.

De-& Neuinstallation der Runtime (inkl. .NET Setup Cleaning Tool) und von VS brachte keine Abhilfe.

Hat jemand ähnliche Erfahrungen gemacht bzw. einen Tipp?

Gruß,
Razer

Thema: Bilder vergleichen ???Hash???
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von herbivore
naja, es war ja schon spät. :-)
jop
Zitat von herbivore
Auch wenn dein Code vereinfacht ist, so ist es doch schlicht falsch, dass der Event im Getter ausgelöst wird. Mal abgesehen davon, dass du die ganze Zeit im Text über Zeichenoperationen schreibst, die also den Inhalt des Bitmap-Objekts ändern und als Codebeispiel das Feuern des Events beim Austauschen des Bitmap-Objekts als ganzes zeigst. Das passt nicht so ganz.

Wenn ich das Bitmap hinter einer Propertie "verstecke" impliziert dass ja aber nicht, dass ich das Bitmap ab sofort immer nur als Ganzes ersetze.
Beim Zugriff via SetPixel etwa ist dies eigentlich nicht der Fall.
Die von den Designern generierten Klassen feuern ihre Änderungs-Events auch in den Settern.
Zitat von herbivore
Ein Event sollte nie direkt ausgelöst werden, sondern sollte vor dem Auslösen immer auf != null abgefragt werden.
ja, der Code war halt (zu) skizzenhaft.

Zitat von herbivore
Eine Frage bleibt noch: Lohnt sich der Aufwand? Denn an der Stelle, wo man den Event auslösen würde, könnte man auch einfach direkt das Flag setzen. :-) Es liegt ja hier kein Grund vor, das Setzen des Flags durch ein Events zu entkoppeln.
Wenn die Überprüfung die einzige Aufgabe ist, besteht dazu eigentlich keine Notwendigkeit, stimmt. Müssen aber noch weitere Ausgaben ausgeführt werden, fände ich das Auslagern weniger bedenklich.

Zitat von herbivore
Zitat
Gerade bei Bitmaps kommen bei höheren Auflösungen vergleichsweise hohe Datenmengen auf, sodass jedesmal die komplette Datei einzulesen wäre. Da schießt du dann eindeutig mit Kanonen auf Spatzen.
Nein, durch den Hash würde man sich das ja gerade sparen. Man hätte also den einen einen Hash immer parat und müsste nur den Hash von dem potentiell geänderten Objekt berechnen. Und das liegt ja im Speicher, weshalb die Berechnung auch bei großen Bitmaps entsprechend schnell durchführbar wäre.
war definitiv zu spät 8o

=> @lorddoener ich drehe meinen Standpunkt um 180 Grad, und bin auch dafür dass du deine Bitmaps hashed

Thema: Gesucht: Tutorials zum Thema Multi-Client App mit SQL Server back-end
Am im Forum: Datentechnologien

@ Diamond

auch ich rate dir dringend zur Express Edition des SQL-Server, mit Access wirdt du bei deinem Anforderungsprofil kaum glücklich werden.

Bedenke, dass Access als reine Fassade zur Datenhaltung fungiert, und keinerlei Filterfunktionen ausführt.
Bei jeder Abfrage wird der gesamte (!) Inhalt einer Tabelle zum Client übertragen, erst dort wird das Resultset erstellt!
Das bedeuted dass du bei 10 Benutzern tonnenweise nutzlose Daten über dein Netzwerk transferierst, die Performance wird entsprechend schlecht wenn nicht unhaltbar sein.

Dass 10 Benutzer gleichzeitig auf einen Datensatz mit Kundenstammdaten zugreifen, ist schwer vorstellbar und noch schwerer zu realisieren.

Thema: Alltag in unserer Branche (?)
Am im Forum: Smalltalk

Zitat von Golo Roden
Ich stelle es gerade selbst fest: Zu zweit (Peter Bucher und ich) arbeiten wir derzeit an einem eher kleinen Projekt, wo wir beide seit etlichen Wochen jeden Tag mehrere Stunden dransitzen.

Unser Ziel ist - abgesehen davon - dass nachher alles funktioniert, auch, eine saubere Architektur hinzubekommen, eine gute Testabdeckung zu haben, ... und das kostet unglaublich viel Zeit!

Wenn man guckt, was das Ding für den Endanwender kann, fragt man sich, wie wir da länger als einen oder zwei Tage dransitzen.

Same here..

Ich finde zudem, dass die immer mehr werdenden Möglichkeiten zur Entwicklung eines Produkts den Aufbau einer Architektur nicht zwangsläufig vereinfachen oder beschleunigen, teilweise ist das genaue Gegenteil der Fall.

Einige konkrete Beispiele:

Datenzugriff:
- Entity Framework?
- LINQ to SQL ?
- ADO .Net 2.0 ?
- ADO .Net 1.0?
- NHibernate ?

User Interface:
- WindowsForms?
- WPF?
- WebFrontend?

Design:
- n-Tier (3 Layer? 4 Layer? 5 Layer?)
- FatClient? SmartClient? ThinClient?
- Applikationsserver?
- Nur SQL Server?
- Stored Procedures?
- DTOs oder DB-Entitys?

Umfeld:
- Net 3.5/3.0/2.0 möglich?
- MS-Only Datenbanken?

Ja, was den nun?
Man könnte das noch weiterführen.

Dazu kommt, dass man oft keine der Technologien als "best practice" bezeichnen könnte:

- Mit dem EF und L2S kann man tolle LINQ Abfragen basteln - aber mehrschichtige Anwendungen sind beim aktuellen Stand nur unschön zu lösen..

- Mit ADO .Net 2.0 kann man Datensätze durch alle Schichten schieben - aber bei Abfragen darf man erstmal wieder "SELECT * FROM Customers WHERE ..." in seine Settings-Datei tippen.

- Mit NHibernate darf man aber erstmal zig Attribute und Config Einträge ohne Designer manipulieren..

Eine kleine Anwendung zur Verwaltung von Kundendaten ist schnell geschrieben.
Aber hat man sich erstmal einge der Patterns angesehen, vervielfacht sich der Zeitaufwand gut und gerne:
z.B. Design mit Layern und MVP-Pattern:
DataAccess -> Manager -> Services -> Presenter -> UserInterfaces

Hinzu kommt noch die Abstraktion durch Interfaces und/oder DataContracts zwsichen den einzelnen Schichten, die die erforderliche Menge an Code und Planungszeit stark ansteigen lässt.

Ich denke deshalb, dass auch in der Software-Entwicklung der Grundsatz gilt, dass auf 20% der Funktionaliät 80% der Arbeit entfallen. Übertragen auf die Architektur könnte man also vielleicht die These aufstellen, dass eine saubere, auf Patterns bzw. Vermeidung von AntiPattern basierte Architektur mit einem Schluck Pragmatismus die produktivste Art der Entwicklung darstellt.

Gruß,
Razer

Thema: SQL Statement mit variirenden Parametern
Am im Forum: Datentechnologien

Zitat von Baesler
1. Ist es langsamer?
Wenn der Benutzer dener Software auf eine geschätzte Millisekunde seines Lebens verzichten kann, dann dürfte es nciht so entscheidend sein..
Zitat von Baesler
2. Ist es unsicherer?
Ja!
Zitat von Baesler
3. Ist es nur seiner Meinung nach Falsch, weil Du es anders machst?
Nein!

In Kürze:

Du baust einen SQLCommand, und fügst dessen Parameters -Auflistung Objekte des Typs SqlParameter hinzu. Deren Konstruktoren übergibst du jeweils den Parameter-Alias der entsprechenden Spalte in deinem QueryString und den gewünschten Filterwert, fertig.

Kann sein dass die SqlParameter auch noch den Datentyp wissen wollen, kommt auf deinen DB-Provider an.

Thema: Bilder vergleichen ???Hash???
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von lorddoener
Ich habe gelesen, dass man da die Datei hashen kann und dann beide vergleichen, aber stimmt das auch?

Ich glaube die Hashes zu vergleichen ist so ziemlich der aufwendigste Weg um die von dir gewünschte Funktionalität zu erreichen

Gerade bei Bitmaps kommen bei höheren Auflösungen vergleichsweise hohe Datenmengen auf, sodass jedesmal die komplette Datei einzulesen wäre. Da schießt du dann eindeutig mit Kanonen auf Spatzen.

Gruß,
Razer

Thema: Bilder vergleichen ???Hash???
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Das Vorgehen ist eigentlich vom Prinzip her immer gleich:

Der Zweck eines Events ist es, dich über eine Änderung oder einen bestimmten Vorgang zu informieren. In deinem Fall willst du informiert werden, wenn auf deinen Bitmap eine beliebige Zeichenoperation angewendet wird.
Es ist dir aber egal, welche Operation da genau ausgeführt wird, denn du willst anschließend ja nur das Flag "HatUngespeicherteÄnderungen" auf true setzen.

Deshalb ist es zu feingranular, bei jeder Zeichenoperation das Flag zu setzen, du benötigst einen untergeordneten Event, der bei allen Zeichenoperation gefeuert wird. Das könnte in deinem Fall z.B. ein Event "BitmapChanged" sein, den der Setter einer Propertie auslöst:


// Bitmap
Bitmap currentImage;

// Bitmap Propertie
Bitmap CurrentImage
{
get
{
     BitmapChanged();
     return currentImage
}

set
{
currentImage = value;
}

// Event
event EventHandler BitmapChanged;


(Code etwas vereinfacht, es fehlen die EventArgs etc.)

Bei jedem Schreibzugriff auf dein aktuelles Bitmap - egal ob durch Pinsel, Weichzeichner oder sonstwas - wird der "BitmapChanged"-Event gefeuert - diesen kannst du abonnieren und bei Eintritt z.B. das Flag "HasPendingChanges" auf true setzen.

Gruß,
Razer

Thema: |Aisys| O/R Mapper
Am im Forum: .NET-Komponenten und C#-Snippets

Wenn man als Entwickler ledeglich den SQL-Server als Plattform berücksichtigen muss, denke ich außerdem, dass z.B. LINQ to SQL in mancher Hinsicht einfach mächtiger ist - Stichworte wären LINQ to SQL, Concurrency Exceptions, Designer-Unterstützung, Support...

Wie werden den Updates mit deinem OR-Mapper eigentlich gemanaged?
Ich denke du speicherst eine Art RowState für jedes Objekt, welches durch die Ableitung von AisysObject bereitgestellt wird, oder?
Habe in deiner Doku nichts dazu gefunden.

Die Mischung aus englischen und deutschen Methoden- und Eventbezeichnungen finde ich persönlich ziemlich unschön und weniger hilfreich, ich denke dass du da mit etwas Refactoring mehr Stil erreichen kannst.

Nichtsdestotrotz erscheint mir deine Komponente ansonsten sauber aufgebaut, soweit ich dass mit meinen (doch deutlich bescheideneren) Kentnissen beurteilen kann.

Gruß,
Razer

Thema: |Aisys| O/R Mapper
Am im Forum: .NET-Komponenten und C#-Snippets

Hallo JuyJuka,

an welche Stellen würdest du nun die Geschäftslogik packen?
In die Klassen selbst? In externe Manager-Methoden?

Gruß,
Razer

Thema: Richtige Einbindung einer Datenschicht-Klasse
Am im Forum: Datentechnologien

Falls dir das Singleton-Pattern nicht geläufig sein sollte, kannst du auch einfach static verwenden. In den allermeisten Fällen ist es eher eine Glaubensfrage, ob static oder singleton zum Einsatz kommt.

(Wobei ich damit nun nicht den Beitrag von Thomas B. herabsetzen will.)

Gruß,
Razer

Thema: Wie DataGridView aktualisieren bei DataSet
Am im Forum: GUI: Windows-Forms

Autoincrement-Spalten sind so eine Sache.
Idr. ist es oft am besten wenn du eine eben gespeicherte Zeile neu einliest, damit du die durch die DB vergebenen ID erfährst.
Generierst du die IDs in der Software, könnte es u.a. Probleme bei mehreren Benutzern geben.

Gruß,
Razer

Thema: Wie DataGridView aktualisieren bei DataSet
Am im Forum: GUI: Windows-Forms

Dein grundsätzlicher Ansatz erscheint mir etwas unsauber.

Prinzipiell solltest du so vorgehen:

1. Mit der TableAdapter.Fill()-Methode Daten in die Tabellen des DataSet laden
2. Die Daten dort bearbeiten, Zeilen hinzufügen, löschen
3. Mit der Update()-Methode des TableAdapters diese Änderungen zurück in die DB schreiben.

Wenn das DGV die Änderungen am DataSet nicht gleich anzeigt:
DGV nach einer Änderung neu binden mit DGV.DataSource = myDataSet.myTable

Am besten verwendest du aber gleich eine BindingSource:

DataSet -> BindingSource -> DataGridView :

myBindingSource.DataSource = myDataSet.myTable;
myDataGridView.DataSource = myBindignSource;

Dann werden Änderungen sofort angezeigt.

Thema: ADO.NET EF, Einfache Where-Abfrage mit Entitäten
Am im Forum: Datentechnologien

from product in storage.Products.Include("Supplier")
where product.Supplier.Name == "123"
select product;

Gruß,
Razer

Thema: Mapping: BusinessObjects -> Dictionary -> BusinessObjects (Reflection? Generic?)
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von JuyJuka
Hallo laurasophie,

partial kann man ganz schnell wieder vergessen. Dieses Schlüsselwort ist nur zum aufteilen des Quellecodes einer Klasse in mehrer Dateien gedacht und ist nach dem Kompilieren einfach weg.

Gruß
Juy Juka

Ist es nicht so von MS gedacht gewesen, dass man die Geschäftslogik tatsächlich in solchen partiellen Klassen unterbringt?
(auch ich halte es für ein fragwürdig Konzept)

Gruß,
Razer

Thema: Mapping: BusinessObjects -> Dictionary -> BusinessObjects (Reflection? Generic?)
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo laurasophie,

Um ehrlich zu sein bin ich gerade mit einem ganz ähnlichem Problem beschäftigt.
In meinem Fall handelt es sich allerdings um eine WinForms-Anwendung, bei der die Layer keine physischen Grenzen überwinden müssen, d.h. es gibt keinen Application-Server oder etwas vergleichbares.
Die Schichten dienen damit eher einem sauberen Aufbau und einer wartbaren Grundarchitektur.

Derzeit habe ich auch noch keine wirklich befriedigende Antwort gefunden. Aktuell fasse ich die Entitys als Teil eines Contracts auf, d.h. jedes Projekt einer Schicht referenziert dann halt das Entity-Model mit den EF-Klassen.

Dummerweise steckt in diesem dann natürlich auch die DataAccess Logik.
Der Umweg über selbstgeschriebene Ersatzklassen ist mir eindeutig zu aufwendig, ich versuche es wenn dann auch über Schnittstellen hinzubekommen, alles manuell quasi doppelt zu schreiben, dass kann es doch irgendwo nicht sein.