Announcement

Collapse
No announcement yet.

Konstante aus DLL auslesen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Konstante aus DLL auslesen

    Hallo,
    gleich noch ne frage hinterher
    ich würde gern Konstanten aus einer DLL auslesen, aber weiß nicht genau wie.
    die DLL sieht folgender maßen aus

    [highlight=vbnet]
    Public Class Class1
    Const Del0700 As String = "07:00"
    Const Del0730 As String = "07:30"
    End Class
    [/highlight]

    und der aufruf so:

    [highlight=vbnet]
    Imports MyDLL.Class1
    Public Class frm_SelTime
    Dim a As New MyDLL.Class1
    Private Sub CB_SelTime_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CB_SelTime.SelectedIndexChanged
    CB_SelTime.Text = a.Del0700
    End Sub
    End Class
    [/highlight]

    aber es kommt die Fehlermeldung:
    "MyDLL.Class1.Del0700" ist in diesem Kontext nicht zugreifbar, da es "Private" ist.

    aber ich hab das doch extra in der DLL in public class geschrieben ... dachte ich ^^

    wäre über hilfe dankbar

    mfg

  • #2
    aber ich hab das doch extra in der DLL in public class geschrieben ... dachte ich ^^
    Die Klasse ist ja auch sichtbar. Deine Konstante(n) aber nicht. Sieh dir deine Fehlermeldung nochmal genau an. Da wird explizit die Konstante erwähnt nicht nur die Klasse.

    Wenn man keine Sichtbarkeit an etwas dran schreibt heißt das dieses Programmelement ist standardmäßig private.

    Comment


    • #3
      Gibs in VB.NET keine static member? Das würde doch eher Sinn machen, oder? Dann müsste man nicht bei jeder Verwendung der Variablen die Klasse instantiieren.

      Comment


      • #4
        hallo und danke für die antworten

        @ralf
        ich hab jetzt vor das wort "const" in der dll public geschrieben, hat aber nix verändert, selbe fehlermeldung.

        @faderlf
        ich muss das leider genau so machen ^^

        edit:
        quatsch, ich hab die dll nur abgespeichert und nich neu erzeugt ... ich probiers nochmal ...


        edit:
        jetzt siehts schon besser aus, aber nun kommt folgende meldung:

        Warnung 1 Zugriff des freigegebenen Members, konstanten Members, Enumerationsmembers oder geschachtelten Typs über eine Instanz; der qualifizierende Ausdruck wird nicht ausgewertet. C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Visual Studio 2008\Projects\Projekt1\Projekt1\frm_SelDeliStartTi me.vb 5 26 Projekt1
        Zuletzt editiert von Freiwilderer; 04.02.2010, 10:14.

        Comment


        • #5
          Public const Variablen hängen an der Klasse und nicht an der Instanz einer Klasse. Würde auch wenig Sinn machen da Sie ja in allen Instanzen eh gleich wäre. Also einfach ohne irgendwelche Instanziierung einer class1 auf die Konstante zugreifen.

          [Highlight=VB.Net]Public Class frm_SelTime
          Private Sub CB_SelTime_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CB_SelTime.SelectedIndexChanged
          CB_SelTime.Text = MyDLL.Class1.Del0700
          End Sub
          End Class[/Highlight]


          @fanderlf
          Zumindest in diesem Fall gilt public const(VB.Net) = public static(C#)
          Ob das grundsätzlich so ist wage ich nicht zu behaupten. Bin ja auch eigentlich C#'ler.

          Comment


          • #6
            so gehts
            danke

            Comment

            Working...
            X