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 smilingbandit
Thema: PropertyInfo, Interfaces, Reflection - serialisieren ohne Serialisierer ... Problem :)
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo zusammen,

nach langer Zeit der Abstinenz plagt mich mal wieder ein .NET Problem :) Die Frage ist größtenteils für mich noch akademischer Natur, da ich gerade die verschiedenen Möglichkeiten auslote.

Folgendes Szenario:

Ich benutze ein COM-Interface, für das ein .NET Wrapper (eine Ansammlung von Interfaces sowie als "internal" deklariert die das Interface implementierenden Klassen) definiert sind. Die Klassen wiederum implementieren die Funktionalität der COM-Schnittstelle.

Die COM-Schnittstelle kann nicht angepasst werden, die .NET Schnittstelle - falls möglich - ebenfalls nicht.

Mein Problem:

Prinzipiell handelt es sich um ein Serialisierungsproblem. Ich möchte einige der Collections ("eigene" Collections die im Wrapper definiert sind) persistent speichern, damit User ihre Arbeit unterbrechen können, ohne Daten zu verlieren.

Leider ist es nicht möglich, Interfaces zu serialisieren (benötigt ja einen konkreten Typ). An die Klassen selbst komme ich "von außen" wegen "internal" auch nicht heran (ist ja auch gut so..meistens).

Meine Ansätze waren bisher folgende:

1. Ich erweitere die internen Klassen des Wrappers sowie die Interfaces insofern, das jede Klasse eine List mit PropertyInfo-Objekten liefern kann.

2. Ich versuche über Reflection, direkt an die Werte zu kommen und weg zu speichern, ohne die Klassen bzw. die Interfaces zu erweitern.

Meine Einschätzungen:

zu 1.: Finde ich persönlich am elegantesten. Funktioniert soweit.
zu 2.: Weniger elegant, funktioniert aber ebenfalls.

Meine Probleme :)

zu 1.:
Ich muss die Schnittstellen und deren Implementierung erweitern was nicht unbedingt gewünscht ist.
Außerdem habe ich das Problem der "Selbstreflektion". Das heißt, dass sich mein Property in sich selbst nochmal befindet, da es ja ebenfalls ein Property ist. Das müsste ich noch - möglichst ohne feste Namen etc. - vermeiden.

zu 2.: Das gecode an der Stelle mit Schleifen, Typecasts usw. finde ich nicht sonderlich schick und viel zu kompliziert. Vielleicht stehe ich auch nur auf dem Schlauch und denke zu kompliziert.

Allgemein: Da der Serialisierer wegfällt und ich somit auch an der Stelle ISerializable nicht implementieren kann habe ich das Problem, wie ich dann enstprechende Objekte selbst deserialisiere und ihnen per Reflection und Schleifen die gespeicherten Properties wieder zuweisen kann.

Interessant bei Punkt 1 wäre: Wie müsste ein Setter für das Property (Liste) über alle Properties aussehen? :)

Ich hoffe, ich konnte das Problem soweit verständlich wieder geben.

Konkreter Code ist auch nicht direkt notwendig (aber schön, wenn jemand schon sowas kennen sollte). Mir würden auch Ansätze oder Hinweise helfen. Den rest krieg ich dann schon :)

Viele Grüße

SB

Thema: [gelöst] StreamReader / Lesen von Textdateien - nicht darstellbare Zeichen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo zusammen,

aus mir unbekannten Gründen funktioniert nun das Encoding reibungslos. Außerdem bin ich auf ReadAllLines umgestiegen. Ebenfalls ohne Probleme.

@Herbivore:

Da hast du recht. Zum Glück bin ich auch kein Embedded-Entwickler der darauf achten muss :) Allerdings muss ich danach sowieso jede Zeile einzeln mit einer RegEx prüfen, darum - dachte ich mir - kann ich sie auch einzeln lesen und dabei prüfen :)

Für alle dies interessiert, es sieht jetzt folgendermaßen aus:


private void ReadData()
        {
            string[] readText = File.ReadAllLines(iniFilePath, Encoding.Default);
           
            // Testing purposes only!

            iniFileData = new Dictionary<string,Dictionary<string,string>>();
            string currSection = String.Empty;
           
            foreach(string line in readText)
            {
                Match matchSection = secRegex.Match(line);
                if (matchSection.Success)
                {
                    currSection = matchSection.Groups["Section"].Value as String;
                    if (!iniFileData.ContainsKey(currSection))
                    {
                        iniFileData.Add(currSection, new Dictionary<string, string>());
                    }
                }

                else
                {
                    Match matchLine = keyValRegex.Match(line);
                    if (matchLine.Success)
                    {
                        String currKey = matchLine.Groups["Key"].Value as String;
                        String value = matchLine.Groups["Value"].Value as String;

                        Dictionary<string, string> temp;
                        iniFileData.TryGetValue(currSection, out temp);

                        if (!temp.ContainsKey(currKey))
                        {
                            temp.Add(currKey, value);
                        }
                    }
                }

            }
        }

Thema: [gelöst] StreamReader / Lesen von Textdateien - nicht darstellbare Zeichen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von dN!3L
Die Zeilen kannst du leichter mit der File.ReadAllLines-Methode (String, Encoding) (System.IO) einlesen. Da kannst du dann auch mit dem Encoding rumspielen.

Danke, werd ich gleich mal mit einer alten Datei gegenprüfen.
Ist die Herngehensweise sinnvoll? Also eine komplette Datei einzulesen. Die INIs können ja ganz schön groß werden...

Thema: [gelöst] StreamReader / Lesen von Textdateien - nicht darstellbare Zeichen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo zusammen,

inzwischen bin ich schon etwas weiter. Ich habe die Datei mal mit Hilfe des Notepad++ in verschiedene Formate konvertiert und das Encoding des Streamreaders auf Default gestellt.

Interessanter Weise klappts jetzt und auch der Reader stürzt nicht mehr ab. Allersings ist mir das noch zu unsicher für die Zukunft :) Also wer noch Ideen oder Erfahrungen hat...

Vielleicht hilft der Code ja noch anderen. Werde den Ausschnitt jedenfalls up to Date halten sobald ich mir sicher bin.

Thema: [gelöst] StreamReader / Lesen von Textdateien - nicht darstellbare Zeichen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen



/* 
* Methode zum Lesen der INI-Datei
* Gleichzeitig wird ein Dictionary erzeugt, das als Basis für den TreeView dient
*/

private void ReadData()
        {

            FileStream fileStream = new FileStream(iniFilePath, FileMode.OpenOrCreate, FileAccess.Read);
            TextReader reader = new StreamReader(fileStream);

            // Testing purposes only!

            iniFileData = new Dictionary<string,Dictionary<string,string>>();
            string currSection = String.Empty;
                        
            String line;

            while ((line = reader.ReadLine()) != null)
            {
                Match matchSection = secRegex.Match(line);
                if (matchSection.Success)
                {
                    currSection = matchSection.Groups["Section"].Value as String;
                    if (!iniFileData.ContainsKey(currSection))
                    {
                        iniFileData.Add(currSection, new Dictionary<string, string>());
                    }
                }

                else
                {
                    Match matchLine = keyValRegex.Match(line);
                    if (matchLine.Success)
                    {
                        String currKey = matchLine.Groups["Key"].Value as String;
                        String value = matchLine.Groups["Value"].Value as String;

                        Dictionary<string, string> temp;
                        iniFileData.TryGetValue(currSection, out temp);

                        if (!temp.ContainsKey(currKey))
                        {
                             temp.Add(currKey, value);
                        }
                    }
                }
            }
            fileStream.Close();
        }

Hier mal der Code zum Auslesen des ganzen. Anscheinend wird keine Exeption geworfen(?). Zumindest zeigt sich mit Try-Catch das gleiche Stoppverhalten ohne Meldung.
Über die Eleganz der Lösung kann man jetzt mal streiten :)
Die RegEx zum Prüfen sind auch recht groß, kann ich auf Wunsch aber ebenfalls Posten.
Die auskommentierten Stellen mit Encodingformaten habe ich mal der Üersichtlichkeit wegen weg gelassen.

Thema: [gelöst] StreamReader / Lesen von Textdateien - nicht darstellbare Zeichen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo zusammen,

ich habe ein Projekt in dem ich INI-Dateien behandeln muss - also ganz normale Textdateien.

Die gelesenen Daten werden von mir in einen TreeView zur Anzeige gebracht. Der Wert eines gewählten Schlüssels sollen in einer Textbox darsgestellt werden (für spätere Änderungen).

Funktioniert auch so weit alles wunderbar - außer:

Das Zeichen "°" kommt in einigen Zeichenketten vor, und kann wohl nicht richtig gelesen werden. Stattdessen tauchen Fragezeichen ( also "?" ) oder diese Vierecken bzw. Balken auf. Ich habe bereits mit diversen Konvertierungen herumgetestet und hatte noch mehr Datenverlust - sprich fehlende Zeichen usw.

Ich habe auch bereits dem Streamreader Encodings mitgegeben. Das führt interessanterweise aber immer zum Absturz der ganzen Anwendung. Leider ohne irgendeine Meldung.

Hat jemand eine entsprechende Idee, was ich ausprobieren könnte oder im Idealfall, wo die Lösung verborgen liegt?

Vielen Dank schon mal!

edit: Bevor ichs vergesse: Es scheint kein Anzeigeproblem zu sein. Beim debuggen waren die Zeichenketten bereits fehlerhaft.

Thema: Welche Art von Join bei folgendem Problem:
Am im Forum: Datentechnologien

Hallo zusammen,

mit den ganze Left Outer Joins hats dann funktioniert. Der Query ist ziemlich unübersichtlich geworden, sammelt aber -glaube ich- die Daten, die ich brauche.

Nun hat sich aber ein anderes Problem ergeben. Ich brauche eine Auswertung über den Fortschritt, bzw. die Arbeitsstunden in einem Task (später mal nach Resource und Assignments aufgeteilt).

Mein Problem: Es ist lediglich hinterlegt, wie weit ein Task insgesamt zum reporteten Zeitraum ist.
Nun bin ich auf die Idee gekommen, dass man ja die Differenz errechnen könnte zu den zeitmässig vorherigen Datensätze, die sich sich ebenfalls auf diesen Task beziehen. Per Code würde ichs rekursiv lösen, dass er zum Vormonat immer noch die Differenz berechnet. Aber wie mache ich das mit SQL? Jemand eine Idee?

Vielen Dank schonmal

edit: Auf den Hinweis mit der Pivot hin hab ich mir das angesehen und werds mal so versuchen. Wusste bisher gar nicht, dass SQL das kann -.-"

edit2: Spalte für Spalte eine Differenz zu bilden ist wohl doch schwieriger als ich dachte. Falls jemand nen Tip dazu hat immer her damit ^^

Thema: Welche Art von Join bei folgendem Problem:
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: TSQL 2005 und TSQL 2008

Hallo zusammen!

Ich hab das folgende Problem...

Ich möchte eine Ressourcenauslastung auswerten, und die Daten liegen recht verteilt vor.

Es gibt eine Tabelle, in der ich eine ID auslese für die Verfügbarkeit und eine für die Kapazität der Ressource.
Das ist zunächst mal kein Problem.

Mit Hilfe dieser IDs suche ich in einer anderen Tabelle nach einer sogenannten IDDS. Diese identifiziert später die Ressource. In dieser Tabelle steht dann auch der Zahlenwert für die Verfügbarkeit oder die Kapazität. Also (zum Beispiel):

IDDS IDFIELD Number

5 Kapazität 100
5 Verfügbarkeit 50
10 Kapazität 80
20 Verfügbarkeit 12


Man sieht das Problem: Eine Ressource hat in zwei Datensätzen die Werte hinterlegt, nicht in einem. Es kann auch sein, dass nur Kapazität ODER Verfügbarkeit vorhanden ist.

Was ich am Ende haben möchte ist folgende Tabelle:

IDDS Kapazität Verfügbarkeit
5 100 50
10 80 NULL
20 NULL 12

(vereinfacht).

Wenn der eine oder andere Zahlenwert nicht hinterlegt ist, soll dort eben "0" oder NULL stehen.

Ich habs bisher mal mit einem Full outer Join probiert oder einem einfachen INNER JOIN. Beide liefern mir aber nicht das gewünschte Ergebnis.

Hat jemand eine Idee, wie ich das lösen kann? Ich hab das Gefühl, das ist gar nicht so schwer. Aber irgendwie steh ich aufm Schlauch.

Vielen Dank schonmal

Thema: Insert Into Subselect?
Am im Forum: Datentechnologien

Hallo norman_timo,

das mit dem Berechnen habe ich ausprobiert. Entweder bin ich unfähig, oder der Diagrammdesigner kanns nicht/besitzt nicht die benötigten Einstellungen dafür.

Thema: Insert Into Subselect?
Am im Forum: Datentechnologien

hallo norman_timo,

das würde gehen, wenn die Daten vorliegen würden. Leider gibt es z.B. keinen Meilenstein, der "Kontrolllinie" heißt und die entsprechenden Daten mitliefert. Darum wollte ich diesen Datensatz quasi "dynamisch" erstellen und am Ende anfügen. Kurz gesagt, ich hab nichts das ich "SELECT"en könnte.

Viele Grüße

Thema: Insert Into Subselect?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: TSQL 2005 (MS SQL)

Hallo zusammen!

ich habe ein ziemlich konkretes Problem, da ich nicht alle Feinheiten von SQL kenne (leider).

Ich versuche anhand einer Abfrage eine MTA zu erstellen. Also Werden zu einem Projekt alle Meilensteine und deren Termine abgefragt. Daraus wird ein Diagramm erstellt. Soweit funktionierts auch. Wer diese Analyse kennt der weiss, dass nun eigentlich eine Kontrollline (wenn man so will) von (MIN/MIN) nach (MAX/MAX) durch das Diagramm geht. Es also diagonal halbiert. Da die Reporting Services - was die Diagramme angeht - recht eingeschränkt sind, dachte ich mir, man kann doch bestimmt diese Kontrolllinie bei einer Abfrage am Ende hinzufügen. Also zwei Datensätze, die ungefähr so aussehen:

Name: Kontrollline
ProjektName: ProjektName
Start: ProjektStart
Ende: ProjektEnde

und

Name: Kontrolllinie
ProjektName: ProjektName
Start: ProjektEnde
Ende: ProjektEnde

Das ganze dann anhand des Namens als extra Serie im Diagramm einfügen. Geht sowas? Also ein "INSERT INTO in ein Subselect"?

Vielen Dank und viele Grüße

Thema: Reporting Services 2005 Problem mit Meilenstein Trendanalyse
Am im Forum: Rund um die Programmierung

Hi Trib!

wieder mal vielen Dank, werd noch ein wenig damit rumspielen ^^

Was die Controls angeht: Von Drittanbietern (z.B. Dundas) gibts ein Custom Control, entwickelt mit C# (ist ein Assembly afaik). Damit kann man recht schöne GRafiken machen, hab mir mal die Eval-Copy zum Ansehen besorgt. Ist allerdings schweineteuer das Teil. Also von daher muss es wohl irgendwie möglich sein.

viele Grüße

Thema: Reporting Services 2005 Problem mit Meilenstein Trendanalyse
Am im Forum: Rund um die Programmierung

Hi Trib!

Danke schonmal für die Antwort. Mittlerweilen krieg ichs zwar ungefähr hin, aber die Skalierung ist der Horror. Ich hab leider nur Testprojekte. Die Laufzeit von Projekten kann mehrere Jahre sein und als Y-Achse gibts dummerweise keine Numeric/Date Values...warum auch immer. Folglich kann man die auch nicht ordentlich invertieren, weil nur Mist dabei rauskommt. Zum verzweifeln ist das ^^

Edit: Weisst du vielleicht obs möglich ist, da seine eigenen Controls einzubinden? Falls man sich mal mit dem Diagramm auseinander setzt müsste es ja möglich sein davon was eigenes abzuleiten...

Thema: Reporting Services 2005 Problem mit Meilenstein Trendanalyse
Am im Forum: Rund um die Programmierung

Hallo zusammen!

ich untersuche derzeit im Zuge meiner Diplomarbeit die Reporting Services (ist eben der Teil der für meinen eventuell zukünftigen Arbeitgeber interessant ist). Jetzt hab ich nur folgendes Problem:

Eine Meilenstein Trendanalyse in tabellarischer Form scheint soweit zu funktionieren (mit Hilfe einer Matrix). Nun hätte ich sowas gerne als Diagramm (also Chart). Ich weiss noch, wie ekelhaft das damals in Excel zu verwirklichen war, die Optionen im Report Designer sind aber was Diagramme angeht weitaus eingeschränkter. Es fehlen so Dinge wie 2. x-Achse, Datenquelle darf auch nur eine existieren, die Achsen lassen sich nur dynamisch skalieren usw....

Hat jemand eine Idee, wie man denn entweder

- das Diagramm entsprechend hinbiegt
- die SQL Abfrage soweit hinbiegt dass man das passende Diagramm kriegt?

Viele Grüße und danke schonmal...

edit: ZUmindest die Achsenskalierung will jetzt

Thema: Suche Buchempfehlungen, Tips, Tutorials Rund um Webanwendungen
Am im Forum: Buchempfehlungen

Ah gut, da geb ich dir Recht. Entschuldigung. Ein ordentliches Buch über Design etc. von (ASP .NET) Webanwendungen - in Verbindung mit einer grösseren Datenbank - wäre natürlich auch ausreichend. Der Text war hauptsächlich dazu gedacht, meinen Arbeitsbereich im Moment zu beschreiben.

Thema: Gehaltsvorstellung bereitet mir Kopfzerbrechen... o_O
Am im Forum: Smalltalk

In seinem 2. Posting hat er was von Diplom Informationstechnik (BA) geschrieben -.-" darum meine Antwort. Sorry falls ich das mißverstanden habe.

Was mein Posting angeht: Obs okay ist weiss ich nicht, ich hab nur Statistiken gesehen. Die Aussagekraft ist ja immer ein wenig zweifelhaft. Allerdings, wenn ich mich so umsehe studieren immer weniger, besonders Informatik. Gebraucht werden aber immer mehr (Uni bei uns hat 30000 Studenten, davon 90 Erstsemester Informatik oO). Mehr kann ich dazu auch net sagen. Abgesehen davon dass studieren nicht grade Zuckerschlecken ist *g*

Thema: Suche Buchempfehlungen, Tips, Tutorials Rund um Webanwendungen
Am im Forum: Buchempfehlungen

Hi zusammen!

Meine Diplomarbeit steht an, und da ich das Thema an meiner Werkstudentenstelle im Prinzip selbst vorgeschlagen habe (shame on me, da hab ich mir was eingebrockt) suche ich nun wertvolle Tips oder Tutorials/Buchempfehlungen.

Im Prinzip gehts um eine Webanwendung zum automatischen erstellen von historisierten Projekt- und Abteilungsberichten. Und ich darf/kann/muss mich natürlich mit allen Teilthemen beschäftigen. Die da wären

-Rechtemanagement
-Web-UI Design
-Webservices
-XML
-Design und Erstellen eigener Services/Dienste
-Sinnvolle Architekturen für derlei Systeme
-Datenbankdesign
-MS SQL Reporting Services 2005 (eventuell) oder eine Eigenentwicklung zur Dokumenterstellung (HTML, XLS, PDF...usw)

Fest steht nur: Front-End und Output-Design krieg ich vorgeschrieben, der Rest ist meine Sache (also alles was dazwischen hängt, alle Services, Dienste, Logik, etcpp). Zudem krieg ich "eventuell" die historisierten Daten über einen Webservice (aber das ist grausig, da werd ich lieber was eigenes machen). Falls mir jemand Tips geben kann -oder sich selbt mit Teilen davon auskennt - , besonders Tutorials oder Buchempfehlungen, wär ich echt dankbar Natürlich soll das .NET Framework verwendet werden.

Viele Grüsse

XSBX

Thema: Gehaltsvorstellung bereitet mir Kopfzerbrechen... o_O
Am im Forum: Smalltalk

Also ich kenne jetzt den Informationstechnik Studiengang und die damit verbundenen Jobs nicht im Detail, würde aber mal sagen so weit liegen die jetzt von Diplominformatikern nicht weg.

Auf heise.de (mag man von der Quelle mal halten was man möchte) gabs eine Statistik von Einstiegsgehältern bei Diplominformatikern. Die lagen in der Industrie zwischen 4200 und 4900 Brutto/Monat (letzteres bei SAP die den Spitzenreiter darstellen). Ein Kommilitone von mir (allerdings mit sehr gutem Abschluss) bezieht aktuell 45000 / Jahr Brutto (als Berufseinsteiger), alle Seminare und Schulungen inklusive (sowie einer Masseuse in der Firma ). Ist allerdings ein recht kleiner Betrieb mit ca. 50 Angestellten.

Vielleicht hiflt dir das weiter, eine Relation zu finden, da ich deinen Studiengang wie gesagt nicht exakt kenne.

Thema: Progressbar aktualisiert sich nicht
Am im Forum: GUI: Windows-Forms

Naja...Zeitdruck Da müsste ich schon das neue Form vom BackgroundWorker bearbeiten lassen, sonst muss ich ziemlich viel umbauen (und mich vor allem tiefer ins Threading einarbeiten). Ist das überhaupt sinnvoll?

Thema: Progressbar aktualisiert sich nicht
Am im Forum: GUI: Windows-Forms

ah Entschuldigung, ist mir grade beim Rauchen auch wie Schuppen von den Augen gefallen

Dann wirds schwierig mit nachträglich implementieren glaub ich..Danke jedenfalls!

Thema: Progressbar aktualisiert sich nicht
Am im Forum: GUI: Windows-Forms

Naja, die neue Form wird ja aus dem eigentlichen GUI Thread erzeugt, es wird nur noch nicht dargestellt. Oder wolltest du mich auf die Events hinweisen und dass ichs doch damit lösen muss?

Thema: Progressbar aktualisiert sich nicht
Am im Forum: GUI: Windows-Forms

Hallo zusammen,

Ich wollte für eine meiner Schleifen eine ProgressBar erstellen (bei Programmstart).

Da natürlich das Hauptform der Anwendung noch nicht existiert, hab ich einfach ein neues entworfen und eine Progressbar reingebaut. Da ich nicht schon wieder über Eventhandler arbeiten wollte, hab ichs einfach auf public gesetzt (ich weiss, ist nicht ganz sauber, aber in dem Fall hoffentlich nicht gravierend).

Bevor die Schleife läuft wird das kleine Form angezeigt, Titeltext und Maximum für die Progressbar gesetzt.

Meine Schleife führt Performstep() durch, aber wenn die Schleife dann läuft passiert mir dem Balken gar nichts. Muss ichs doch über Eventhandler machen, oder liegts an was anderem?

Thema: String Split
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Mit Split kriegst du zunächst ein Eindimendionales Array von strings. Die Elemente des Strings werden bestimmt durch das angegebene Trennzeichen (in deinem Fall wohl das ";" ). Wenn dus zweidimensional willst und dein String immer aus Vorname - > Nachname besteht, musst du den danach eben umbauen

Thema: Senden über RS232 mit Netserialcomm
Am im Forum: Rund um die Programmierung

Implementier die SerialPorts lieber selbst. Ist kein grosser Akt. Von Joetempes gibts hier ein Beispiel im Forum unter den Codesnippets. Damit kannst du dann die Kommunikation wesentlich besser steuern, denn dafür gibts dann die passenden Methoden (serialport.write etc.) die du über Events steuern kannst. Ich weiss natürlich nicht, was genau du machen willst.

Thema: Serialport: Woran kann es liegen dass Zeichen am Anfang fehlen?
Am im Forum: Rund um die Programmierung

Hallo JoeTempes

Das diese Schnittstellen immer noch aktuell sind habe ich mittlerweilen ja auch erfahren dürfen hat mich aber auch nicht wirklich verwundert. Allerdings sind sie bei heimischen PCs für den Anwender praktisch verschwunden, dasm einte ich damit.

Dein Template habe ich ausprobiert und mich sogar daran orientiert. Vielen Dank dafür, hat mir sehr geholfen als ich mit C# angefangen habe letztes Jahr. Waren viele nützliche Sachen für mich dabei. Echt gut gemacht.

Thema: Serialport: Woran kann es liegen dass Zeichen am Anfang fehlen?
Am im Forum: Rund um die Programmierung

Danke euch beiden, ihr kennt euch ja richtig gut aus mit dem Zeug (für mich is das Steinzeit und ich hab noch nie wirklich viel mit gearbeitet).

Vielen Dank erstmal!

edit: Also ich hab mal eure Vorschläge ausprobiert und bin zu folgendem Ergebnis einstweilen gekommen:

Der EventHandler pfuscht mir anscheinend in meine normalen Anfragen rein. Darum hab ich meine eine Klasse in zwei geteilt (eine hat nur den Event und Delegaten, die andere macht direkte Anfragen).

Jetzt gehts auch. Ist zwar nicht elegant, aber muss für die Vorführung und Abnahme reichen

Thema: Serialport: Woran kann es liegen dass Zeichen am Anfang fehlen?
Am im Forum: Rund um die Programmierung

Das ists eigentlich auch schon ^^ Aus irgend einem Grund "verliere" ich zu Beginn des Strings - den ich vom Port lese - Zeichen (wenn ich richtig gezählt habe, genau 5).

normalerweise schicke ich eine Anfrage mit


public void Send_IdRequest()
        {
            try
            {
                this.serialPort.WriteTimeout=200;
                this.serialPort.Write("IDN?\r");
                               
            }
            catch (Exception ex)
            {
               //absichtlich leer
            }
        }

Danach lese ich die Daten vom Port aus, die nach dieser Anfrage auf mich warten sollten


public string ReadLine()
        {
            try
            {
                this.data = String.Empty;
                Thread.Sleep(500);
                this.serialPort.ReadTimeout = 1000;
                this.data = this.serialPort.ReadTo("\r");
                                                                               
            }
            catch (Exception ex)
            {
                
            }
            return this.data;

        }

Dazu hab ich noch einen Eventhandler, da die Klasse von zwei verschiedene Geräten benutzt wird (die eine Verbindet sich auf den Handler, die andere nicht). Ich möchte das nicht unbedingt über den Event machen (des gibt wieder andere Probleme wie ich gemerkt habe). Wäre mir lieber, bei dem Gerät nur nach Anfrage zu lesen.

Jemand eine Idee, wo und warum die Zeichen verschwinden? Beim Debuggen sind sie manchmal da, manchmal auch nicht (könnte mal wieder eine Timingsache sein).

Vielen Dank

Thema: [erledigt] Brauche Hilfe bei TargetInvocationException
Am im Forum: Rund um die Programmierung

Ja ist sie, aber das war der letzte "dreckige" Hack den ich mir bis zum Schluss aufheben wollte

Das Problem ist (denke ich) gelöst. Und war an einer ganz anderen Stelle und hatte damit eigentlich gar nichts zu tun *g*

Thema: [erledigt] Brauche Hilfe bei TargetInvocationException
Am im Forum: Rund um die Programmierung

Zum COM:

Also is eigentlich recht einfach. Ich lass mir alle COMPorts liefern, und versuche zu jedem eine verbindung aufzubauen und einen Befehl hin zu schicken. Vom Messgerät erwarte ich eine bestimtme Antwort. Kommt die, dann hab ich den richtigen Port gefunden, und das ganze wird gespeichert.

Wenn ich das über die Events mache, dann liefert er mir den falschen COM, nämlich den im Array eins weiter stehenden.

Thema: [erledigt] Brauche Hilfe bei TargetInvocationException
Am im Forum: Rund um die Programmierung

Das hab ich auch mal implementiert. Nur wie gesagt, da kriege ich für das Gerät den falschen COM als Ergebnis, und das ist auch schlecht

edit: Was mich hauptsächlich interessieren würde wäre, warum es denn einwandfrei durchläuft, wenn ichs mit dem Debugger nachverfolge, aber ansonsten abbricht.