Scheitere an erster Zeile

  • VB.NET

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von K4RTOFF3L.

    Scheitere an erster Zeile

    Hallo,

    ich habe nun auf VS 2013 aktualisiert und wollte nun eine App bauen, die anzeigt, welcher User angemeldet ist.

    Meine erste Zeile lautet

    Imports System.DirectoryServices.AccountManagement

    und wird sofort grün unterstrichen - gibt aber auch keine angebotenen Fehlerkorrekturen. Was soll das? Ging früher doch auch



    VB.NET-Quellcode

    1. Imports System.DirectoryServices.AccountManagement
    2. Public Class Form1
    3. Function RtnDefaultUserName() As String
    4. ' Project, Add Refference, System.DirectoryServices.AccountManagement
    5. Dim currentADUser As System.DirectoryServices.AccountManagement.UserPrincipal
    6. currentADUser = System.DirectoryServices.AccountManagement.UserPrincipal.Current
    7. RtnDefaultUserName = Trim(currentADUser.DisplayName)
    8. End Function
    9. End Class

    Doener schrieb:

    und wo angeben
    so was:
    Projekt -> Eigenschaften -> Verweise => Hinzufügen
    Bilder
    • hinzufügen.png

      21,53 kB, 561×165, 147 mal angesehen
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Zudem ist das ein Einzeiler:

    VB.NET-Quellcode

    1. ​Imports System.DirectoryServices.AccountManagement
    2. Public Class Form1
    3. Function RtnDefaultUserName() As String
    4. ' Project, Add Refference, System.DirectoryServices.AccountManagement
    5. Return UserPrincipal.Current.DisplayName.Trim()
    6. End Function
    7. End Class


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Vielen Dank. Aber irgendwie ist eine Store App scheinbar eine ganz andere Sprache....

    Bisher klappte dies immer in einem Desktop Projekt

    MsgBox(My.Computer.Info.TotalPhysicalMemory)


    Der Selbe Code im einem Store App Projekt geht nicht. Warum? Computer ist kein Objekt von my ???? Verweise kann ich keine hinzufügen, da er sagt, alle aus dem SDK 8.1 sind bereits vorhanden.

    oder sind das nun Namespaces?`Da kann ich noch welche hinzufügen unter Projekteigenschaften. Aber woher weiß ich, welcher der richtige ist?



    Aktuell geht es um diesen Code

    VB.NET-Quellcode

    1. Private Function GetMemory()
    2. Dim MemBitSize As String = My.Computer.Info.TotalPhysicalMemory
    3. If MemBitSize < "1073741824" And MemBitSize >= "1048576" Then
    4. Return ((MemBitSize / 1048576) & "MB")
    5. ElseIf MemBitSize >= "1073741824" Then
    6. End If
    7. Return "0"
    8. End Function


    Bemängelt wird nur My.Computer


    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Doener“ ()

    Vermutlich sind in Windows Store Apps keine My.* Namespaces verfügbar.
    My sollte man wenn möglich eh nicht verwenden, da es immer alternative Möglichkeiten vom Framework gibt.

    Ich weiß aber leider nicht genau ob WMI, PerformanceCounter und Co. bei Windows-Store-Apps verfügbar sind (kannst aber mal danach googlen).

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten

    Doener schrieb:

    VB.NET-Quellcode

    1. Dim MemBitSize As String = My.Computer.Info.TotalPhysicalMemory
    ist ein ULong.
    Gib Deinem Projekt sofort Option Strict On, berichtige alle Fehler und melde Dich dann wieder.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Fehler 1 "Computer" ist kein Member von "My". C:\Users\j040563\documents\visual studio 2013\Projects\TBZInfo\TBZInfo\MainPage.xaml.vb 112 36 TBZInfo
    Fehler 2 "Option Strict On" lässt keine impliziten Konvertierungen von String in Double zu. C:\Users\j040563\documents\visual studio 2013\Projects\TBZInfo\TBZInfo\MainPage.xaml.vb 114 22 TBZInfo

    Fehler 3 Der Wert vom Typ "String" kann nicht in "System.Threading.Tasks.Task" konvertiert werden. C:\Users\j040563\documents\visual studio 2013\Projects\TBZInfo\TBZInfo\MainPage.xaml.vb 118 16 TBZInfo
    klappt aber nicht die Lösung...

    VB.NET-Quellcode

    1. Imports Windows.System.UserProfile
    2. Imports Windows.UI.Xaml.Media.Imaging
    3. Imports System
    4. Private Async Sub Button_Click(sender As Object, e As RoutedEventArgs)
    5. If UserInformation.NameAccessAllowed Then
    6. Dim displayname = Await UserInformation.GetDisplayNameAsync()
    7. Dim firstname = Await UserInformation.GetFirstNameAsync()
    8. Dim lastname = Await UserInformation.GetLastNameAsync()
    9. End If
    10. Dim bitmapImage As New BitmapImage()
    11. bitmapImage.SetSource(Await UserInformation.GetAccountPicture(AccountPictureKind.LargeImage).OpenReadAsync())
    12. image.Source = bitmapImage
    13. TextBox.text = UserInformation.GetDisplayNameAsync
    14. End Sub


    Gibt gar keine Ausgabe..nicht mal das Bild - und an der Zeile habe ich nix verändert.


    Nicht mal das geht, und einfacher geht es nun wirklich nicht

    VB.NET-Quellcode

    1. Dim displayName As String = Await Windows.System.UserProfile.UserInformation.GetDisplayNameAsync()
    2. TB1.Text = displayName

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Doener“ ()

    Ich finde schwer nachzuvollziehen was du da tust. Du programmierst ein VB.NET Programm.
    Du gibst einen Code hier rein, der nur mit nem "geht nicht" kommt ohne Angabe was da für Werte in den Variablen stehen, welche Fehlermeldung kommt (wenn denn eine kommt) und vor allem wo diese kommt...
    Da wird dir kaum wer richtig helfen können.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Geht nicht = es passiert nichts beim drücken des Buttons. Sonst gäbe es ja einen Kompilierungsfehler.

    Wenn ich einen Button nehme und das hier einfüge
    Dim displayName As String = Await Windows.System.UserProfile.UserInformation.GetDisplayNameAsync() TB1.Text = displayName

    dann erwarte ich, das ich den Namen in dem Textfeld finde. Passiert aber nicht, gibt auch keinen Fehler. Mit dem normalen VB Net geht alles 1A. nur mit dem scheiß App Store, der anscheinend eine eigne Sprache ist, klappt gar nichts. Nicht mal der Code aus Post 12 - und das soll ja die Lösung sein
    wie wäre es denn wenn du erst mal einen Haltepunkt setzt und schaust, ob der String "displayName" überhaupt einen Wert bekommt oder leer bleibt...
    Gruß K4RTOFF3L

    Das Problem zu erkennen ist wichtiger, als die Lösung zu erkennen, denn die genaue Darstellung des Problems führt zur Lösung. - Albert Einstein