[VB.Net] Serializable class/structure geeft corrupte .resx

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Mavamaarten
  • Registratie: September 2009
  • Laatst online: 17:18

Mavamaarten

Omdat het kan!

Topicstarter
Pfffff, laat alstublieft iemand het antwoord vinden voor ik ontplof, echt niet normaal kwaad word ik hiervan :(

Dus, laat mij even de situatie uitleggen. Ik ben een PieChart control aan het maken. Het gedeelte waarin de pie wordt getekend is geen probleem, maar ik zou graag in de designer zo'n dingetje hebben om de "pie-items" toe te voegen:
Afbeeldingslocatie: http://i.imgur.com/mMF3o.jpg

Mijn code:

De structure PieChartItem:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<Serializable()> Public Structure PieChartItem
    Private _Percent As Integer
    Private _Color As Color
    Private _Name As String

    Property Percent As Integer
        Get
            Return _Percent
        End Get
        Set(value As Integer)
            _Percent = value
        End Set
    End Property

    Property Name As String
        Get
            Return _Name
        End Get
        Set(value As String)
            _Name = value
        End Set
    End Property

    Property Color As Color
        Get
            Return _Color
        End Get
        Set(value As Color)
            _Color = value
        End Set
    End Property

    Public Sub New(ByVal Name As String, ByVal Percent As Integer, ByVal Color As Color)
        _Name = Name
        _Percent = Percent
        _Color = Color
    End Sub
End Structure


De control zelf:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Public Class PieChart
    Inherits Control

    Private PieItemsList As New List(Of PieChartItem)
    Property Pies As PieChartItem()
        Get
            Return PieItemsList.ToArray
        End Get
        Set(value As PieChartItem())
            PieItemsList.Clear()
            PieItemsList.AddRange(value)
            Invalidate()
        End Set
    End Property

    '//paint event komt nog, belangrijkste is nu om die
    '//verdomde property werkend te krijgen
End Class


Als je deze control toevoegt aan je form dan kan je netjes PieChartItems toevoegen. Maar!
Als je nu je project probeert te runnen, dan zeurt hij over een corrupte .resx:
Invalid Resx file. Could not load type Theme.PieChartItem, Theme, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null which is used in the .RESX file. Ensure that the necessary references have been added to your project.
Vreemd, niet? Ik denk dat het met de serialization te maken heeft, maar ik heb al veel dingen geprobeerd en heb het nog altijd niet werkend gekregen.

Is er een held die mij uit de pinarie kan helpen? :'(

Android developer & dürüm-liefhebber


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 13:55

Sebazzz

3dp

Waarom een struct? Probeer eens een class.

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • Mavamaarten
  • Registratie: September 2009
  • Laatst online: 17:18

Mavamaarten

Omdat het kan!

Topicstarter
Sebazzz schreef op woensdag 29 augustus 2012 @ 16:19:
Waarom een struct? Probeer eens een class.
Als ik een Class maak in plaats van een struct dan gaat dat properties venstertje open voor een fractie van een seconde en verdwijnt dan weer :S

EDIT: Dat deed hij daarnet in elk geval. Nu doet hij gewoon het zelfde, ook kaputte .resx
EDIT2: In een nieuw project zegt hij (bij class, niet structure) dit:
Constructor on type 'WindowsApplication1.PieChartItem' not found.
bij het toevoegen van een item. Vreemd, want er is wel een constructor.

EDIT3: Hurr durr 8)7
Ik heb een nieuwe sub New() zonder extra arguments toegevoegd waar wat standaardwaarden worden ingeladen en nu werkt hij wel. Waarom lukken dingen altijd pas als ik een thread maak 8)7

[ Voor 49% gewijzigd door Mavamaarten op 29-08-2012 16:46 ]

Android developer & dürüm-liefhebber