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 Viper2000
Thema: Backgroundworker "hart" abschießen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

habe ein Problem mit einem Backgroundworker. Nutze eine DLL die ein Gerät ansteuert. Die ausführung des Codes geschieht in einem Backgroundworker. Klappt alles wunderbar. Ab und zu kann es aber vorkommen, dass die DLL Funktion nicht mehr zurückkehrt. In diesem Fall würde ich gerne den Backgroundworker hart beenden.

Ist so etwas möglich?

Gruß

Thema: XSLT Datei mit ins Projekt nehmen VS.NET Express2008
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo Forum,

ich nutze in meinem Projekt eine XSL Transformation. Funktioniert soweit auch wunderbar. Das zur Transformation benötigte XSLT Stylesheet würde ich gerne so ins Projekt integrieren das es bei Weitergabe des fertigen Setups an einer definierter Stelle liegt und ohne absoluten Pfad angesprochen werden kann.

Momentan muss man das XSLT Stylesheet mit einem Filebrowser aussuchen und ich muss es immer zusätzlich zum Setup meines Projekts mit weitergeben.

Irgendwie muss das doch integrierbar sein.

Über Hilfe wäre ich dankbar!

Viele Grüße.

Thema: Eine Art Objekt-Queue verwirklichen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Also mit List<Test> wars kein Problem :)
Danke!

Thema: Eine Art Objekt-Queue verwirklichen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Okay,

danke schonmal für die Antworten. Heute Nachmittag werde ich genug Zeit haben um es zu testen =)

Thema: Eine Art Objekt-Queue verwirklichen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Klar weiß ich dass es Schleifen gibt Aber es kam mir halt zu einfach vor das so zu lösen. Ich werde mich mal in Queue und List etwas einlesen.

Beim Array müsste ich ja vorher schon wissen wieviele Tests gemacht werden, da es sich nicht dynamisch vergrößert.
Vielleicht bietet ja Queue<> oder List<> diese Funktion

Viele Grüße

Thema: Eine Art Objekt-Queue verwirklichen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

die Entwicklung meiner Forms-Anwendung geht langsam in die Endphase.

Ich habe aber noch ein Problem: Meine Anwendung führt Tests auf externer Hardware aus. Für jeden dieser Test habe ich eine Klasse erstellt die von der Basisklasse "Test" abgeleitet ist. Jede Klasse enthält die Methode Start() die den Test startet.

Wenn nun der User in den Optionen mehrere Tests zum Ausführen per Checkbox anhakt sollen diese natürlich nacheinander ausgeführt werden. Bisher stoße ich die einzelnen Tests per separatem Button an.

Wie kann ich nun automatisiert diese Tests nacheinander anstoßen? Hatte überlegt eine Art Array der Basisklasse Test zu machen und die einzelnen Objekte der Test-Subklassen darein zu stopfen. Nachdem dann die Start() Methode des ersten Tests zurückkehrt müsste der zweite Test beginnen usw.
Aber macht man das so und ist dies möglich? Könnte mir vorstellen, dass ein solches Problem öfters in derPraxis auftaucht und dass es spezielle Techniken dafür gibt.

Viele Grüße
Viper

Thema: Icons in einer Textboxzeile
Am im Forum: GUI: Windows-Forms

mhm so wie ich das sehe funktioniert der ErrorProvider nur mit einer einzeiligen TextBox...ich habe halt so eine Art "Loggerfenster" wo alle Meldungen dann untereinander mit dem Icon vornedran angezeigt werden sollen.

Wenn eine neue Meldung eintrifft wird diese an die mehrzeilige Textbox Appendet und die alten Meldungen "rutschen hoch" und sind später mit der Scrollbar noch durchsehbar.

Hoffe ihr versteht was ich meine...

Thema: Icons in einer Textboxzeile
Am im Forum: GUI: Windows-Forms

Danke für den Tipp mit dem ErrorProvider. Werde mich mal einlesen und schauen ob das für mich brauchbar ist.
Melde mich ggfs. nochmal :)

Thema: Icons in einer Textboxzeile
Am im Forum: GUI: Windows-Forms

Hallo Forum,

ich habe schon gesucht aber nichts zu diesem Thema gefunden.
Ich schreibe gerade ein Tool das Erfolgs/Misserfolgsmeldungen in einer Textbox ausgibt. Dazu muss ich laut Spezifikation bei Erfolg ein kleines grünes Icon(Häkchen) vor der Zeile einblenden und bei Misserfolg ein kleiner rotes Icon(Kreuz).

Ist dies möglich bzw. anders komfortabler lösbar?

Viele Grüße!

Thema: Objekt in mehreren Subklassen verwenden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

hat noch jemand ne Idee?

Thema: Objekt in mehreren Subklassen verwenden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ok, zuerst die Basisklasse mit einer Beispielmethode (Den Namen der DLL habe ich mal auf XYZDll geändert und die Klasseninstanz ist: "Automation".


abstract class Test
    {
        protected XYZDll Automation;
        protected bool connected;
        protected Config config;

        public Test()
        {
            Automation = new XYZDll();
            connected = false;
        }

        public abstract void Start();

        protected void Connect()
        {
             Automation.Connect(true);
        }
    }

Dann eine ageleitete Klasse:


class RomTest : Test
    {        
        public RomTest(Config iConfig)
        {
            this.config = iConfig;            
        }

        public override void Start()
        {            
            Automation.PerformRomTest();
        }

Wenn ich un eine Instanz der Klasse RomTest erstelle und die Methode Start() anstoßen will dann crasht das Progamm.

Thema: Objekt in mehreren Subklassen verwenden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Guten Morgen...

ich muss nochmal eine Frage stellen:

Habe eine Basisklasse und mehrere davon abgeleitete Subklassen.
Alle Klassen dienen der Kommunikation mit einem USB Gerät über eine DLL die als Referenz eingebunden ist.

In der Basisklasse habe ich eine Variable dieser DLL erstellt und die Kommunikations-Methoden implementiert die von allen Subklassen mehrfach benötigt werden. Wenn ich nun allerdings aus einer Subklasse auf eine geerbte Methode der Basisklasse zugreifen will, bekomme ich folgenden Fehler:

Message "Die Quellklasse des verknüpften Objekts hat sich geändert. (Ausnahme von HRESULT: 0x80040008 (OLE_E_CLASSDIFF))" string

Ich verstehe nur nicht ganz warum? Die Variable der DLL müsste doch auch an die Subklassen vererbt werden. Aber bei jedem Zugriff auf eine dieser Funktionen schmier es mit obiger Fehlermeldung ab...

Hoffe einer kann helfen.

Gruß,
Viper

Thema: Ausführung im Hintergrund mit gleichzeitigem Loggerfenster und Progressbar
Am im Forum: GUI: Windows-Forms

Ok aber wo wäre der richtige Ort um den Backgroundworker zu starten? Im Mainform oder im Objekt meiner abgeleiteten Klasse oder in dem zusätzlichen Form das ich für die Fortschrittsanzeige nutzen will...

Und wie bekomme ich die Textstrings die ich in meiner Klasse dann von dem USB Gerät "zurückbekomme" in den Eventhandler rein um diese in die Form zu bringen?

Thema: Ausführung im Hintergrund mit gleichzeitigem Loggerfenster und Progressbar
Am im Forum: GUI: Windows-Forms

Hallo Forum,

weiß nicht wie ich diese Frage sonst formulieren soll. :-)
Ich schreibe eine Applikation bei der über eine externe DLL ein Gerät angesteuert wird was dann diverse Tests ausführt und die Ergebnisse zurückmeldet.

Das funktioniert jetzt auch alles schon sehr gut. Allerdings alles im GUI Thread.

Ich habe mir eine Basisklasse "Tests" erstellt, die alle "gemeinsamen" Felder und Methoden enthält. diese Klasse enthält eine abstrakte Methode "Start()".

Für jeden denkbaren Test habe ich je eine Klasse erstellt die dann von der Basisklasse "Tests" abgeleitet ist. Diese abgeleiteten Klassen überschreiben jeweils die abstarkte Methode "Start()" der Basisklasse mit "override". Diese override Methode stößt die reale Testausführung an.

Ich würde nun gerne in meinem Hauptform Objekte dieser speziellen Tests instanzieren und Nacheinander im Hintergrund abarbeiten lassen. Dazu soll der Fortschritt in einem Fenster was beim Starten der Tests aufpoppt dargestellt werden. Zum einen als Progressbar und zum anderen als "Loggerbereich"(TextBox) wo Textmeldungen über den Fortschritt ausgegeben werden. Ich muss also aus meiner Instanz des Tests auf dieses Form irgendiwe zugruiff erhalten um die Progressbar und die TextBox zu aktualisieren.

Wie kann ich das sauber in eine .NET Technologie wie "Backgroundworker" oder halt in Threads auslagern?

Also nochmal zusammenfassend:

1. Haupform erzeugt Objekte der speziellen Tests, jedes Objekt enthält die Methode Start() die den eigentlichen Test startet (über DLL auf einem USB Gerät).

2. Nach Aufruf der Start() Methode soll die ganze Geschichte im "Hintergrund" ablaufen ohne das Mainform zu blockieren.

3. Während des Ablaufes soll in einem zusätzlichen Form der Fortschritt über eine TextBox und eine Progressbar ersichtlich sein.


Über Hilfe dazu wäre ich sehr dankbar.

Viele Grüße

Thema: Settings überall verfügbar machen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich habe es nun verstanden und habe etwas wichtiges hinzugelernt... Danke euch für die Hilfe!

Thema: Settings überall verfügbar machen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

okayyyyyy, aber diese Aussage spricht doch genau gegen den von Herivore verlinkten Artikel. Dort wird auch eine Klasse erzeugt und per ref übergeben. Bei der übergabe ohne ref passiert ja dann genau das was ich nciht so unbedingt möchte

Thema: Settings überall verfügbar machen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Guter Artikel!

Jetzt bin ich aber leicht verwirrt weil gerade in meinem Fall müsste ich doch dann die Referenz übergeben damit das Objekt in der Hauptform ebenfalls beeinflusst wird wenn ich in meinem Settings Form Einstellungen ändere.

Wenn ich das Objekt ohne ref an den Konstruktor des Settings Forms übergebe dann spiele ich doch nur auf dem kopieren Objekt und mein Config Objekt in der Hauptform bleibt auf den alten Werten stehen...

Thema: Settings überall verfügbar machen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Forum,

ich habe mal eine Frage. Ich denke die Frage bewegt sich richtung Objektorientierung.

Ich habe eine Windows Form Applikation und mir dazu eine eigene recht umfangreiche Klasse zur Anwendungskonfiguration geschrieben. Die Klasse verwaltet Einstellungen die ich in meiner Form für andere Aufgaben brauche.

Ich erzeuge in meinem Form eine Instanz der Config-Klasse und kann dann über die Methoden dieser Klasse die Einstellungen beeinflussen und in einer Konfigurationsdatei schreiben und auch wieder einlesen. Soweit so gut.

Jetzt möchte ich allerdings die Einstellungen nicht direkt in meinem Hauptform befüllen sondern in einem seperaten Formular eine TreeView bauen wo ich die Einstellungen bearbeiten kann.

Ich möchte also das Objekt in einem seperaten Form lesen und schreiben und in meinem Hauptform nur lesend auf die Einstellungen zugreifen um den Programmablauf entsprechend zu beeinflussen.

Wie macht man das? Tut man dem neuen Form das Objekt mit dem Schlüsselwort ref übergeben? Oder wie ist die allgemeine Vorgehensweise für ein solches Problem?

Viele Grüße
viper

Thema: Methodenrückgabe aus COM-DLL abfangen.
Am im Forum: Rund um die Programmierung

Hallo Forum,

ich nutze ein Gerät zu dem der Hersteller eine DLL mitliefert. Diese DLL ist als Verweis in Visual C# Express 2008 eingebunden.

Ich kann auch alles schön ansteuern. Wenn ich allerdings eine Methode anstoße und diese nicht erfolgreich ist dann wird ein HRESULT zurückgegeben. Dieses HRESULT würde ich gerne auswerten. Momentan habe ich ein try-catch um die Methode gebaut. Diese landet im Fehlerfall auch im Catch-Block. Dort gelingt es mir allerdings nicht auf das HRESULT zuzugreifen.

Der Debugger meldet im Fehlerfall folgendes im Statusfenster:

Zitat
System.Runtime.InteropServices.COMException (0x80004005): Beim Aufruf einer COM-Komponente wurde ein HRESULT E_FAIL-Fehler zurückgegeben.
bei XXXXXXXXXXXXXXXXXXX
bei XXXXXXXXXXXX.ResetAndRun() in D:\XXX\XXXXX\Visual Studio 2008\Projects\XXXXXXXXXXXXX\XXXXXX\XXX.cs:Zeile 39.
Eine Ausnahme (erste Chance) des Typs "System.Runtime.InteropServices.COMException" ist in XXXXX.exe aufgetreten.

Thema: Problem mit byte-Array und Methode aus dll
Am im Forum: Rund um die Programmierung

Die Lösung war ganz einfach, fast schon peinlich :D:

object buffer = new byte[Size];
byte[] buffer2 = new byte[Size];

//buffer füllen

buffer2 = (byte[])buffer;  //stinknormaler Cast

Thema: Problem mit byte-Array und Methode aus dll
Am im Forum: Rund um die Programmierung

Also die DLL ist zum Steuern einer anderen Software per TCP übers Netzwerk.
Die DLL wird vom Hersteller der anderen Software zur Verfügung gestellt.
Ich habe die DLL einfach in Visual Studio.NET 2008 als Verweis hinzugefügt und konnte diese dann auch so benutzen.

Nur bei der Sache mit dem Puffer bin ich bisher gescheitert

Thema: Problem mit byte-Array und Methode aus dll
Am im Forum: Rund um die Programmierung

das habe ich mir auch zuerst so gedacht, allerdings steht dem folgende Fehlermeldung im Wege:

Zitat
Fehler 3 6-Argument: kann nicht von "ref byte[]" in "ref object" konvertiert werden.

Thema: Problem mit byte-Array und Methode aus dll
Am im Forum: Rund um die Programmierung

Hallo,

ich nutze folgende Methode aus einer DLL:

public virtual void blablabla(AccessFlags iAccessFlags, short iMemArea, int iAddress, int iNumMau, short iBytesPerMau, ref object vDataBuffer, ref object vAccessBuffer);

Die Methode erwartet also als vDataBuffer ein "object" auf Byte-Basis als Referenz.
Ich habe mir also folgendes angelegt:

object buffer = new byte[SizeMau];

diesen Buffer dann als Referenz an die Methode übergeben und laufen gelassen. Ich habe anschließend auch das richtige in dem Puffer stehen (sehe ich im Debugger von Visual Studio).

Allerdings kann ich nicht indiziert auf den Puffer zugreifen -> Fehlermeldung:
Zitat
Fehler 3 Indizierung mit [] kann nicht auf einen Ausdruck vom Typ "object" angewendet werden.

Wie bekomme ich die Daten aus dem Puffer zur weiteren Verarbeitung?

Viper

Thema: Texdatei schreiben...wiederkehrende Blöcke
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi herbivore, danke für die Antwort,

anderer Denkansatz: Wenn ich die Dateien als Textdatei in mein Projekt mit Aufnehme und dann mit Fileoperationen daraus lese und darin schreibe, wird es dann bei einer Installation mitinstalliert? Falls ja könnte ich ja den Application Startup Path ermitteln und in Bezug zu diesem auf die Files zugreifen...Auf jeden Fall MUSS ich das irgendwie bewerkstelligen!

Gruß, viper

Thema: Texdatei schreiben...wiederkehrende Blöcke
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo danke und frohes neues euch allen,

hab mich nochmal an das Problem gesetzt. Wenn ich meine benötigte Textdatei als Resource hinzufüge, kann ich natürlich prima aus dem Code darauf zugreifen, allerdings kann ich diese dann nicht zur Laufzeit vom User in einer textBox modifizieren lassen da die Resource schreibgeschützt ist

Also nochmal zusammenfassend:

- Ich benötige eine Textdatei die in irgendeiner Form mit eingebettet wird (auf den Installationsrechner mitkopiert wird beim Installieren).
- Ich muss aus meinem Code auf diese Datei zugreifen können
- Der User muss den Inhalt der "Resource" editieren können(dafür baue ich mir ein kleines Form mit ner Textbox und Save-Button).

Wie gesagt, mit den normalen Resourcen komme ich nicht weiter, da diese nicht zur Laufzeit beschreibbar sind...

Gruß,
viper

Thema: Texdatei schreiben...wiederkehrende Blöcke
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich kenne den Unterschied jetzt nicht genau aber ich will das was in der Datei steht aus meinem tool heraus editieren können (in ner TextBox oder ähnliches und daraus lesen können. Für den Anwender kann die Datei ruhig "unsichtbar" bleiben.

Thema: Texdatei schreiben...wiederkehrende Blöcke
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

ja ich weiß wie ich aus Dateien lese bzw. hineinschreibe...es ging mir eher darum wie ich eine Textdatei fest (als Resource oder sowas) in mein Projekt bekomme die dann auch auf den Zielrechner mitinstalliert wird und wie ich dann Rechner- und Pfadunabhängig auf diese Datei zugreifen kann.

Viele Grüße,
Viper

Thema: Texdatei schreiben...wiederkehrende Blöcke
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ich bin ein Tool mit Visual C# am Entwickeln das ANSI-C - Codefiles generiert. Dazu würde ich gerne wiederkehrende Kommentarblöcke die später in die ANSI-C Datei (wie z.B. Header-Kommentare usw.) in eine Textdatei auslagern und von da immer wieder lesen und in meine zu erzeugende ANSI-C Datei schreiben.

Ich könnte die Kommentarblöcke natürlich auch jedesmal Hardcoden aber das ist natürlich nicht schön weil ich sonst quasi ANSI-C "Kommentarblöcke" in meinem C# Code habe.

Ich habe jedenfalls jetzt eine Textdatei zu meinem Projekt hinzugefügt. Aber wie kann ich aus meinem Code darauf zugreifen ist die Frage?

Wichtig wäre auch, dass die Textdateien später beim Setup dann mit auf den Zeilrechner installiert werden.

Ich hoffe ich habe mich halbwegs verständlich ausgedrückt.

Viele Grüße,
Viper

Thema: Drucken eines Bildes skaliert auf Millimeter
Am im Forum: Rund um die Programmierung

Ich hab mir mal die MSDN Artikel zum Thema Drucken angesehen aber ich finde immer noch keine Lösung für mein Problem...

Thema: Drucken eines Bildes skaliert auf Millimeter
Am im Forum: Rund um die Programmierung

Hallo,

ich würde gerne ein Bild, was der User in eine PictureBox lädt, in einer bestimmten Größe auf dem Drucker ausgeben (z.B.: 100x120 mm).

Ich habe schon viel gesucht aber noch nichts konkretes gefunden bezüglich dieses Themas. Hat in der Richtung jemand einen Denkanstoss?

MfG Viper