Hallo,
ich habe ein klassen-übergreifendes Problem.
Ich habe nebst FormMain.vb noch 2 weitere Klassen, nämlich Cuboid und CDrawing. Beide sind initialisiert.
Ich habe eben debuggt. In CDrawing.vb sieht der Compiler bei der Variable
Was habe ich überhaupt vor
Ich möchte einen Quader im Raum darstellen und projizieren. Dazu habe ich eine Klasse Cuboid mit x, y, z, Länge, Breite, Höhe, und eine List(of Vector3D). Die Klasse CDrawing hingegen soll den Sachverhalt berechnen und zeichnen. In FormMain findet nur der User-Input statt.
In FormMain.vb:
Und in CDrawing.vb's
Ähm, ich glaube, das hat sich erledigt. Habe nun
Kann das jemand erklären, warum das Shared sein muss? Die Logik möcht' ich mal verstehen.
ich habe ein klassen-übergreifendes Problem.
Ich habe nebst FormMain.vb noch 2 weitere Klassen, nämlich Cuboid und CDrawing. Beide sind initialisiert.
Ich habe eben debuggt. In CDrawing.vb sieht der Compiler bei der Variable
FormMain.C1
immer nur ‘Nothing’. Wie kann das sein?Was habe ich überhaupt vor
Ich möchte einen Quader im Raum darstellen und projizieren. Dazu habe ich eine Klasse Cuboid mit x, y, z, Länge, Breite, Höhe, und eine List(of Vector3D). Die Klasse CDrawing hingegen soll den Sachverhalt berechnen und zeichnen. In FormMain findet nur der User-Input statt.
In FormMain.vb:
VB.NET-Quellcode
- Public NotInheritable Class FormMain
- Public Property C1 As Cuboid = Nothing
- Public y_Entfernung_Kamera As Double
- Public y_Entfernung_Kamera_Schirm As Double
- Public x_Entfernung_Kamera As Double
- Private ReadOnly Deu As New System.Globalization.CultureInfo("de-DE")
- Private D1 As CDrawing = Nothing
- Private Sub FormMain_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
- Using FCC As New FormCreateCuboid
- If FCC.ShowDialog(Me) <> DialogResult.Yes Then Return
- C1 = New Cuboid(FCC.x, FCC.y, FCC.z, FCC.length_, FCC.width_, FCC.height_)
- D1 = New CDrawing()
- End Using
- End Sub
- Private Async Sub FormMain_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
- If C1 Is Nothing Then Return
- If e.KeyCode = Keys.W Then
- PictureBox1.Image = Nothing
- Await Task.Run(Sub() D1.process_async())
- PictureBox1.Image = CDrawing.displayedBitmap
- End If
- End Sub
Und in CDrawing.vb's
Public Sub process_async()-Methode
ist FormMain.C1
immer Nothing.Ähm, ich glaube, das hat sich erledigt. Habe nun
Public Shared Property C1 As Cuboid
geschrieben. Kann das jemand erklären, warum das Shared sein muss? Die Logik möcht' ich mal verstehen.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Bartosz“ ()