VisualBasic String to Object

aggitron

Commander
Registriert
Jan. 2006
Beiträge
2.074
Nabend,

ich habe aus einer DB einen Dateipfad (L:\Path\to\Target\12345.pdf) als String ausgelesen.
Mit der Methode Path.GetFileNameWithoutExtension möchte ich nun den Dateinamen auslesen.

Bei MS steht in der Doku dieser Codeschnipsel:
Code:
Dim fileName As String = "C:\mydir\myfile.ext"
Dim result As String

result = Path.GetFileNameWithoutExtension(fileName)
Console.WriteLine("GetFileNameWithoutExtension('{0}') returns '{1}'", fileName, result)

Laut Server Log erwartet die Methode jedoch ein Object. Habe ich hier einen Denkfehler?
Falls ich den String wandeln muss, wie müsste ich das anstellen?
 
Aha.










EDIT: Also geht der Code aus dem Beispiel nicht?

Vielleicht willst du uns ja was deiner Programmierumgebung sagen. Welche Programme und Versionen du benutzt.
 
Zuletzt bearbeitet:
Die Signatur für das Teil ist
Code:
 public static string GetFileNameWithoutExtension(string path)

Da hat sich auch nichts geändert. Aber: Die Methode findet sich unter System.IO.Path, dazu muß also System.IO.Path.Get....() angegeben werden oder natürlich System.IO importiert werden. Entsprechend könnt ich mir lebhaft vorstellen, daß die Fehlermeldung besagt, daß die Objektreferenz fehlt - normal, wenn Path nicht bekannt ist, was es nicht ist, wenn System.IO im Kontext fehlt.


Ach ja, der Vollständigkeit halber: Das gilt natürlich nur für die .NET-Variante von Visual Basic. VBA (zB innerhalb MS Office) und VBS (zB als Script für den Windows Script Host oder für klassisches ASP) sind raus, ebenso wie klassisches VisualBasic (bis Version 6).
 
Zuletzt bearbeitet von einem Moderator:
@RalphS
Das war der richtige Hinweis. Es handelt sich um klassisches ASP.
Es muss mit Server.CreateObject("Scripting.FileSystemObject") gearbeitet werden. Dann funktioniert es.
 
Zurück
Oben