Suchergebnisse

Suchergebnisse 1-10 von insgesamt 10.

  • Benutzer-Avatarbild

    Hi zeige mal die Stelle, an der der Fehler auftritt. Verzichte außerdem unbedingt auf On Error Resume Next oder On Error GoTo. Diese verhindern einen sinnvollen Umgang mit Fehlern. Wichtig bei der Verwendung aller Methoden, die Fehler werfen können, ist, zu wissen, ob ein bestimmter Fehler ggf. auftreten kann und diesen entweder davor entsprechend zu behandeln (was in der Regel Priorität hat) oder über Try-Catch den Fehler abzufangen und jegliche Aktionen, die in diesem Aufruf stattgefunden habe…

  • Benutzer-Avatarbild

    So exzessiv betreibe ich es bspw. nicht. Normalerweise sind Probleme in verschiedene Subprobleme unterteilbar. Wenn es sich nicht um Kleinstprobleme handelt, die man innerhalb von gefühlten 30 Zeilen lösen kann (das ist einfach die Intuition) und sie eine Methode signifikant aufblähen, dann lagere ich sie aus, ansonsten eher nicht. Methoden, über 100 Zeilen schaue ich dan aber doch nochmal kritisch an und entscheide, ob sich nicht doch etwas sinnvoll auslagern lässt. Ist aber alles irgendwo eine…

  • Benutzer-Avatarbild

    Auf Nothing setzen ist aber dennoch die Empfehlung bei IDisposable, da sonst Referenzen auf das Objekt gehalten werden, die verhindern, dass der Speicher freigegeben werden kann. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    Wo genau liegt das Problem? Ich sehe da jetzt gerade noch keins. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    VB.Net macht bei ByRef mit Nicht-Variablen, etwas sinnvolles daraus zu machen. Du kannst ja theoretisch einer Konstante keinen neuen Wert zuweisen, insofern auch Nothing nicht. Die bessere Lösung wäre, das über zwei Überladungen zu machen: Eine ohne Parameter, eine mit dem ByRef. Die kannst du dann ggf. auch einander aufrufen lassen, sodass keine Redundanz entsteht. Ich halte das ByRef übrigens für sinnvoll platziert. Viele Grüße ~blaze~

  • Benutzer-Avatarbild

    @RodFromGermany Achso, ich hatte verstanden, dass das worauf du hinauswolltest, war, dass woeh ByVal verwenden solle. @woeh ByRef übergibt die Referenz auf das Objekt, das du hineingibst, d.h. die Referenz auf eine Variablen. Der Wert wird dann aus dieser Referenz geladen, sobald er verwendet wird bzw. an die Referenz gespeichert, wenn du einen Wert zuweist. ByVal übergibt das übergebene Objekt direkt als Wert, nicht als Referenz. Eine Änderung des Paramreters mit ByVal bewirkt deswegen auch kei…

  • Benutzer-Avatarbild

    Es wird tatsächlich Arbeit, aber nicht schwieriger. So wird halt z.B. Left zu Remove, Mid zu Substring(startIndex, length) und Right zu Substring(startIndex) oder InStr zu IndexOf. Der mMn. springende Punkt ist aber eigentlich nicht die Kompatibilität, sondern vielmehr, dass es gegen die objektorientierte Programmierung geht. In der OOP arbeitet man auf Objekten, d.h. links steht ein Objekt, auf dem gearbeitet werden soll oder es ist implizit gegeben (--> Me.Bla() -> Bla()). Left, usw. sind nich…

  • Benutzer-Avatarbild

    Erst mal kleine Anmerkungen: - Sicher, dass es hinreichend ist, da Log aufzurufen und du nichts aufräumen musst, falls der Catch-Block erreicht wird? Bspw. Schließung von Files, Rückgängig-Machen der getätigten Einstellungen, usw.? Und hat die Bibliothek tatsächlich den Aufruf dieser ID3ClearTag-Methode nötig? - Statt If ... = True Then schreibt man idR. nur If ... Then, analog für If ... = False Then eben If Not ... Then - Im Catch-Block fängt man in den meisten Fällen spezifische Exceptions (A…

  • Benutzer-Avatarbild

    Mit Substring: VB.NET-Quellcode (1 Zeile) mit Char: VB.NET-Quellcode (1 Zeile) wobei Zweiteres vorzuziehen ist, da es auf Basis von Chars arbeitet, die für einzelne Buchstaben vorgesehen sind. Wenn du es als String benötigst, kannst du ToString() verwenden, um es zurückzukonvertieren. Bei jeder Manipulation eines Strings (der so nicht vorher schon einmal existiert hat, ist etwas komplizierter, als ich es jetzt darstelle) wird alles kopiert, was benötigt wird, d.h. wenn du z.B. in einer Schleife …

  • Benutzer-Avatarbild

    Das kommt darauf an, was am Programm selbst verbesserungswürdig ist. So allgemein kann man die Frage eher nicht beantworten. Stilistisch würde ich sagen, passt das Programm soweit, wenn es funktioniert und du DirectCast bzw. CType verwendet hast, weißt, was CByte, usw. bewirken. Damit wäre das Thema Option Strict On an sich ja gegessen oder mir würde zumindest dazu nichts mehr einfallen. Viele Grüße ~blaze~