Toon posts:

[vb.net] Classes en CType en Property

Pagina: 1
Acties:

Verwijderd

Topicstarter
Goedemorgen,

beetje vage titel... maar ja...

Ik heb een Class gemaakt met daarin een structure en een property die ik gebruik om de gegevens uit te lezen vanuit het mainform...

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    Public FileDataArray As New Collection()
    Dim FileData As FileDatas

    Public Structure FileDatas
        Dim FileName As String  'bv. pipo.dwg
        Dim FullPathName As String  'bv. D:\test\drawings\kaarten
    End Structure




    Public ReadOnly Property GetSelectedFileName(ByVal index As Integer) As FileDatas
        Get
            Dim p_FileData As FileDatas
            p_FileData = CType(FileDataArray(index), FileDatas)
            ' MessageBox.Show(FileData.FileName & "  " & FileData.FullPathName)
            Return p_FileData
        End Get
    End Property


Nu wil ik dus die hele structure terug geven, omdat ik anders voor elk element een property moet maken.. (want als ik alleen bv. de filename return werkt het wel)


Nu heb ik in mijn mainform devolgende functie:
code:
1
2
3
4
5
6
    Public Structure FileDatas
        Dim FileName As String  'bv. pipo.dwg
        Dim FullPathName As String  'bv. D:\test\drawings\kaarten
    End Structure
    Dim FileData As FileDatas
FileData = DrawingData.GetSelectedFileName(treDrawings.SelectedNode.Index + 1)



Maar dan krijg ik de foutmelding, met zo'n blauwe streep:

Value of type 'clsDrawingData.FileDatas' cannot be converted to 'frmMain.FileDatas'.

HUH?! dit is toch eenzelfde structure? Hoezo kan hij hem dan niet converten?!

Komt dat misschien omdat die niet net als een standaard type gedefinieerd is ofzo globaal ergens?

Verwijderd

Dit moet de code in je form zijn:

Dim FileData As clsDrawingData.FileDatas
Dim Drawing As DrawingData
FileData = Drawing .GetSelectedFileName(treDrawings.SelectedNode.Index + 1)