Click here to Skip to main content

Visual Basic

   

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page  Show 
  Refresh
GeneralRe: Display a form in Sub Main() PinmemberBenjamin Liedblad21:48 29 Mar '05  
GeneralRe: Display a form in Sub Main() PinmemberMahesh167922:36 29 Mar '05  
GeneralThanks ! PinmemberMahesh167922:36 29 Mar '05  
QuestionHow to convert a string to form object? Pinmembersheel00718:26 29 Mar '05  
AnswerRe: How to convert a string to form object? PinmemberRitesh12343:19 30 Mar '05  
GeneralRe: How to convert a string to form object? Pinmembersheel00720:10 30 Mar '05  
QuestionHow to get the command line argument of the other processes in VB using Win32 API? PinmemberKent Liu17:39 29 Mar '05  
Generalserialization problem Pinmemberdisks86@gmail.com16:17 29 Mar '05  
ok here is the problem I am making a game and the variables work as follows they have a var class which includes the data and a wrapper class which has built in save and load functions which is binary serialization and the var class is accessed through properties now the problem happens when I try to load the var in this case a map it says the object type cannot be converted to the target type
here is some code
Imports System
Imports System.Drawing
imports System.IO
Imports System.Runtime.Serialization
Imports System.Runtime.Serialization.Formatters.Binary
imports System.Windows.Forms
Public Class Game_map
Implements icloneable

Function Clone() As Object Implements Icloneable.clone
return me.memberwiseclone
End Function
Private var As game_map_var = New Game_map_var
default Property Root(byval shallow_copy as boolean) As Game_map_var
Get
if shallow_copy = false then Return var.clone else return var
End Get
Set(ByVal new_object As Game_map_var)
if shallow_copy = false then me.var = new_object.clone else me.var = new_object
End Set
End Property
Sub save(ByVal filename As String)
'on error resume next
dim fs As filestream = New FileStream(filename,filemode.Create)
dim bf As New BinaryFormatter
bf.Serialize(fs,var)
fs.Close
End Sub
Sub load(ByVal filename As String)
' on error resume next
if file.Exists(filename) = true then
dim fs As filestream = New FileStream(filename,filemode.Open)
dim bf As New BinaryFormatter
var = ctype(bf.Deserialize(fs),game_map_var)
fs.Close
Else
MessageBox.Show("The file "& filename & " could not be found", "File Not Found!", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1)
End If
End Sub
Property name() As string
Get
return me.var.name
End Get
Set(ByVal new_name As string)
me.var.name = new_name
End Set
End Property
Property tiles() As game_map_var.game_tile()
Get
return me.var.tiles
End Get
Set(ByVal new_tiles As game_map_var.game_tile())
me.var.tiles = new_tiles
End Set
End Property
Public Class Game_map_var
Implements icloneable
Function Clone() As Object Implements Icloneable.clone
return me.memberwiseclone
End Function
public name as string = ""
Public tiles() As game_tile = { _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile, _
new game_tile}

Public Class Game_tile
Implements icloneable
Function Clone() As Object Implements Icloneable.clone
return me.memberwiseclone
End Function
Private var As Game_tile_var = New Game_tile_var
default Property Root(byval shallow_copy as boolean) As game_tile_var
Get
if shallow_copy = false then Return var.clone else return var
End Get
Set(ByVal new_object As game_tile_var)
if shallow_copy = false then me.var = new_object.clone else me.var = new_object
End Set
End Property
Property x() As Integer
Get
return me.var.x
End Get
Set(ByVal new_x As Integer)
me.var.x = new_x
End Set
End Property
Property y() As Integer
Get
return me.var.y
End Get
Set(ByVal new_y As Integer)
me.var.y = new_y
End Set
End Property
Property surface() As bitmap
Get
return me.var.surface
End Get
Set(ByVal new_y As bitmap)
me.var.surface = new_y
End Set
End Property
Property state() As tile_state
Get
return me.var.state
End Get
Set(ByVal new_y As tile_state)
me.var.state = new_y
End Set
End Property
Public Class game_tile_var
Implements icloneable
Function Clone() As Object Implements Icloneable.clone
return me.memberwiseclone
End Function
public x As Integer = 0
public y As Integer = 0
Public surface As bitmap = New Bitmap(32,32,system.Drawing.Imaging.PixelFormat.Format24bppRgb)
public state as tile_state = tile_state.normal
End Class
public Enum tile_state
normal
solid
up_down_solid
left_right_solid
left_solid
right_solid
up_solid
down_solid
down_right_solid
down_left_solid
up_left_solid
up_right_solid
End Enum
End Class
End Class

End Class

 
I know all the class = new class stuff is wierd but I have to do that if i dont the debug says that the "object reference is not set to an object" when I try to access the variable this I believe is because a class is a reference type not a variable at least until you use new which this maybe the source of my problem but structures cannot have starting values which then will return "object reference is not set to an object" when I try to access the varaibles
HELPConfused | :confused:
GeneralDatagrid Pinmemberrusudhan16:12 29 Mar '05  
GeneralRe: Datagrid PinmemberChristian Graus16:34 29 Mar '05  
GeneralCode Downgrade PinmemberKevin Delaney14:20 29 Mar '05  
GeneralRe: Code Downgrade PinmemberProgrammer2k420:24 29 Mar '05  
GeneralRe: Code Downgrade PinmemberKevin Delaney0:52 30 Mar '05  
Generalmultiple objects in datagrid Pinmembernordyck13:21 29 Mar '05  
GeneralAdvice to learn assembly programming language PinmemberThe man from SCN-CO11:29 29 Mar '05  
GeneralRe: Advice to learn assembly programming language PinmemberColin Angus Mackay12:03 29 Mar '05  
GeneralRe: Advice to learn assembly programming language PinmemberChristian Graus12:09 29 Mar '05  
GeneralRe: Advice to learn assembly programming language PinmemberThe man from SCN-CO4:41 30 Mar '05  
GeneralRe: Advice to learn assembly programming language PinmemberDave Kreskowiak5:29 30 Mar '05  
GeneralRe: Advice to learn assembly programming language PinmemberThe man from SCN-CO17:59 30 Mar '05  
GeneralRe: Advice to learn assembly programming language [EDITED] PinmemberDave Kreskowiak2:06 31 Mar '05  
GeneralVery big problem Pinmembermagnifique5:01 29 Mar '05  
GeneralRe: Very big problem PinmemberThe man from SCN-CO11:32 29 Mar '05  
GeneralConvertion Object Into Form PinmemberSunil Gidwani4:12 29 Mar '05  
GeneralRe: Convertion Object Into Form PinmemberRobert Rohde7:57 29 Mar '05  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.


Advertise | Privacy | Mobile
Web04 | 2.5.120528.1 | Last Updated 29 May 2012
Copyright © CodeProject, 1999-2012
All Rights Reserved. Terms of Use
Layout: fixed | fluid