NullReferenceException
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 37 Antworten in diesem Thema. Der letzte Beitrag () ist von SystemUnknow.
-
-
-
toto schrieb:
Es wird leider nichts markiert, nur die Meldung ohne Hinweislinie.
SystemUnknow schrieb:
mit OOP [...] Modul.Von meinem iPhone gesendet
-
-
-
Hi,
Ich habe eher gemeint, dass unser lieber alex2k Module mit OOP in Verbindung bringt, wobei Module ganz klar gegen die Prinzipien von OOP verstoßen.
Module sind ein hässliches Überbleibsel aus ereignisorientierten VB6-Zeiten und gehören verbannt. Wer nicht total OOP-Unfähig ist, der weiß, dass man stattdessen eine statische Klasse verwenden soll.
@Topic: Suche den Fehler bei den Deklarationenin der Klasse oder im Konstruktor der Form. Auch im Initializecomponent() könnte sich was eingeschlichen haben.Von meinem iPhone gesendet
-
-
wobei Module ganz klar gegen die Prinzipien von OOP verstoßen.
@nikee13: in Moduls kannst du genau so deine events schreiben, genau so controls erben oder initialisieren.
Aber für ein kleineren projekt macht kein sinn eine DLL/KLasse zu erstellen.
EDIT// 1285 zeilen ist schon einiges, dann würde ich sofort klassen nemen. Wenn du deine Anwendung weiter gibst, vergies nicht deine DLL mit zu geben, sonst beim start deine Anwendung bekommt Benutzer jeder menge böse überaschungen. -
Ich finde es OK eurer Austausch.
Ich werde mir erstmal das mit den Klassen anschauen:
@alex
dann würde ich sofort klassen nemen
@nikee13
Suche den Fehler bei den Deklarationenin der Klasse oder im Konstruktor der Form. Auch im Initializecomponent() könnte sich was eingeschlichen haben
bin auch dabei.
Zunächst Danke an euch 2.
Brauche ein wenig zeit.
lg
totolg toto -
SystemUnknow schrieb:
@nikee13: in Moduls kannst du genau so deine events schreiben, genau so controls erben oder initialisieren.
Aber für ein kleineren projekt macht kein sinn eine DLL/KLasse zu erstellen.
Was zur Hölle laberst du da? Klar kann man in Modulen Sachen deklarieren. Module sind aber trotzdem keine Klassen.
Schon mal was vom OOP-Grundsat "Keine Deklaration außerhalb von Klassen" gehört? Nein? Och.
Und wtf, anscheinend kannst du ja Klassen nicht mal von DLLs unterscheiden. :|Von meinem iPhone gesendet
-
-
@nikee: natürlich haben Module für bestimmte Anwendungszwecke ihre berechtigung.
Folgendes ist ziemlicher Stuss:Ich habe eher gemeint, dass unser lieber alex2k Module mit OOP in Verbindung bringt, wobei Module ganz klar gegen die Prinzipien von OOP verstoßen.
Module sind ein hässliches Überbleibsel aus ereignisorientierten VB6-Zeiten und gehören verbannt. Wer nicht total OOP-Unfähig ist, der weiß, dass man stattdessen eine statische Klasse verwenden soll.
- kannst du das iwie begründen, dass "Module ganz klar gegen die Prinzipien von OOP verstoßen."
- Was bitte ist der Unterschied zw. einem Modul und einer statischen klasse??
- Wusstest du, dass VB keine statischen Klassen kennt? Die heißen in VB nämlich "Modul".
- kannst du das iwie begründen, dass "Module ganz klar gegen die Prinzipien von OOP verstoßen."
-
ErfinderDesRades schrieb:
kannst du das iwie begründen, dass "Module ganz klar gegen die Prinzipien von OOP verstoßen."
Kannst du dort nachlesen: secure.wikimedia.org/wikipedia…sual_Basic#Besonderheiten
ErfinderDesRades schrieb:
Was bitte ist der Unterschied zw. einem Modul und einer statischen klasse??
ErfinderDesRades schrieb:
Wusstest du, dass VB keine statischen Klassen kennt?
Schon mal versucht, von einem Modul zu erben btw?
In C# und VB.NET kann man von statischen Klassen problemlos erben.
Daraus folgt:
"Modul != Statische Klasse".Von meinem iPhone gesendet
-
nikeee13 schrieb:
Schon mal versucht, von einem Modul zu erben btw?
Erb mal hiervon:
Nach deiner Definition ist "foo" also keine Klasse, weil ich davon nicht erben kann?
BTW:
VB.NET-Quellcode
- Public Class Form1
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- cfoo.bar()
- mFoo.bar()
- End Sub
- End Class
- Public NotInheritable Class cfoo
- Public Shared Function bar() As Boolean
- Return True
- End Function
- End Class
- Public Module mFoo
- Public Function bar() As Boolean
- Return True
- End Function
- End Module
Sagt ILDAsm folgendes zu (siehe Bild
BEIDE Male: .class public auto ansi sealed
und das obwohl eins doch "nur" ein Modul ist ...Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „picoflop“ ()
-
picoflop schrieb:
Nach deiner Definition ist "foo" also keine Klasse, weil ich davon nicht erben kann?
picoflop schrieb:
BEIDE Male: .class public auto ansi sealed
Und überlege mal, warum ein VB.NET-Modul intern über eine sealed Class abgewickelt wird.
Ändert nix an meiner Aussage, dass Module veraltet und ein Überbleibsel aus VB6 sind. Siehst du das etwa anders? Gehören Module deiner Meinung nach also in hochmoderne Projekte?Von meinem iPhone gesendet
-
nikeee13 schrieb:
dass beim Modul der VB6-Namespace benutzt wird, oder?
Seit wann ist "Microsoft.VisualBasic" auf VB6 BESCHRÄNKT? Gabs denn in VB6 schon "My"? Denn der gehört auch zum VisualBasic Namespace. Der ist "etwas" mehr als nur VB6 ...
Gehören Module deiner Meinung nach also in hochmoderne Projekte?
Schreib mal ne Erweiterungsmethode, wenn "static" als modifier für class nicht geht ...
Oder nutzt du keine Erweiterungsmethoden?Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „picoflop“ ()
-
picoflop schrieb:
Oder nutzt du keine Erweiterungsmethoden?
Ansonsten übergebe ich dir den Sieg, aber nur, weil ich Extensionmethods bis jetzt nur aus C# kannte. ;)Von meinem iPhone gesendet
-
-
Ähnliche Themen
-
Skype - - Sonstige Problemstellungen
-
Bowserkoopa - - Sonstige Problemstellungen
-
5 Benutzer haben hier geschrieben
- Gast (17)
- toto (12)
- nikeee13 (7)
- Manawyrm (1)
- ErfinderDesRades (1)