Der Fehler „das pinvoke-element (feld, methode) muß statisch sein“ tritt auf, wenn du eine Methode aus einer nativen DLL (wie `kernel32.dll`) per P/Invoke aufrufst, aber die deklarie... [mehr]
Der Fehler „Das PInvoke-Element (Feld, Methode) muß statisch sein“ tritt in VB.NET 2003 auf, wenn du versuchst, eine externe (meist mit `Declare` oder `DllImport` eingebundene) Methode als Instanzmethode statt als statische Methode zu deklarieren. **Ursache:** P/Invoke (Platform Invocation Services) erwartet, dass Methoden, die auf externe DLLs zugreifen, als `Shared` (statisch) deklariert werden. In VB.NET 2003 geschieht das mit dem Schlüsselwort `Shared`. **Beispiel für den Fehler:** ```vbnet Public Class MeineKlasse Declare Function MessageBox Lib "user32.dll" (ByVal hWnd As Integer, ByVal lpText As String, ByVal lpCaption As String, ByVal uType As Integer) As Integer End Class ``` Hier fehlt das `Shared`-Schlüsselwort. **Korrekte Lösung:** ```vbnet Public Class MeineKlasse Public Declare Shared Function MessageBox Lib "user32.dll" (ByVal hWnd As Integer, ByVal lpText As String, ByVal lpCaption As String, ByVal uType As Integer) As Integer End Class ``` Oder mit `DllImport` (bei Verwendung von .NET-Attributen): ```vbnet Imports System.Runtime.InteropServices Public Class MeineKlasse <DllImport("user32.dll")> Public Shared Function MessageBox(ByVal hWnd As Integer, ByVal lpText As String, ByVal lpCaption As String, ByVal uType As Integer) As Integer End Function End Class ``` **Zusammengefasst:** Füge das Schlüsselwort `Shared` zu deiner externen Methodendeklaration hinzu. Nur so kann die Methode korrekt als statische Methode verwendet werden, wie es P/Invoke verlangt. **Weitere Infos:** - [Microsoft Docs: Declare Statement (Visual Basic)](https://learn.microsoft.com/de-de/dotnet/visual-basic/language-reference/statements/declare-statement) - [Microsoft Docs: DllImportAttribute-Klasse](https://learn.microsoft.com/de-de/dotnet/api/system.runtime.interopservices.dllimportattribute)
Der Fehler „das pinvoke-element (feld, methode) muß statisch sein“ tritt auf, wenn du eine Methode aus einer nativen DLL (wie `kernel32.dll`) per P/Invoke aufrufst, aber die deklarie... [mehr]
Um in VB.NET ein JPG-Bild in ein GIF-Bild umzuwandeln und dabei gleichzeitig die Größe zu ändern, kannst du die Klassen `System.Drawing.Image` und `System.Drawing.Bitmap` verwenden. Hi... [mehr]
In VB.NET 2003 kannst du ein JPG-Bild in ein GIF-Bild umwandeln, indem du die Klassen aus dem Namespace `System.Drawing` verwendest. Hier ein einfaches Beispiel, wie das funktioniert: ```vb.net Impor... [mehr]
Mit der Funktion `Val("ABC02")` in VB.NET 2003 erhältst du als Ergebnis den Wert `0`. Die Funktion `Val` liest nur so lange Zeichen aus dem String, wie sie als Zahl interpretiert werden... [mehr]
Um in VB.NET 2003 in einer RichTextBox beim Drücken der Enter-Taste vor dem Zeilenvorschub automatisch ein "°" einzufügen, kannst du das KeyDown- oder KeyPress-Ereignis der Ric... [mehr]
In VB.NET 2003 (also .NET Framework 1.1) kann die erste Spalte eines ListView-Elements **nicht** über `SubItems(0)` adressiert werden. Die erste Spalte (also der Haupttext eines ListViewItems) wi... [mehr]
In VB.NET 2003 ist die ListView-Komponente standardmäßig nur für die Sortierung nach einer einzelnen Spalte ausgelegt. Eine mehrstufige (also z.B. erst nach Spalte 1, dann nach Spalte... [mehr]
Das ist korrekt. In VB.NET 2003 (also Visual Basic .NET 1.1) gibt es das Schlüsselwort `Continue Do` noch nicht. Diese Funktionalität wurde erst mit .NET Framework 2.0 (Visual Studio 2005) e... [mehr]
Um mehrzeilige Texte in eine Datei zu speichern und später anhand von Überschriften (z. B. [Block1], [Block2]) auszulesen, kannst du in VB.NET 2003 wie folgt vorgehen: **1. Speichern mehrze... [mehr]
In VB.NET 2003 (also .NET Framework 1.1) gibt es keine direkte Möglichkeit, ein Untermenü (Submenu) eines ContextMenus per Code aufzuklappen. Das liegt daran, dass das klassische `ContextMen... [mehr]