I'm trying to figure out why the first block of code doesn't work, but the second does. Are user-defined classes inaccessible inside Class_Initialize, or is there some scoping rule that requires me to put something extra in my definition?
I would have guessed that the Class_Initialize code wouldn't actually run until "Set bike = New Bicycle", at which time the compiler would have already made it past the definition of the Brake class.
Code:
<%
Class Bicycle
Public brake
Public Sub Class_Initialize
Set brake = New Brake
End Sub
End Class
Class Brake
Public brakeType
End Class
Set bike = New Bicycle
bike.brake.brakeType = "Disc"
Response.Write bike.brake.brakeType
%>
Code:
<%
Class Bicycle
Public brake
Public Sub Class_Initialize
End Sub
End Class
Class Brake
Public brakeType
End Class
Set bike = New Bicycle
Set bike.brake = New Brake
bike.brake.brakeType = "Disc"
Response.Write bike.brake.brakeType
%>