Issue with cyclic Import statements

BlitzMax Forums/BlitzMax Programming/Issue with cyclic Import statements

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

The first sample is no problem. That is wherefore abstract is. Abstract are only for declaration, they can not be created.

type test abstract
...
end type

type test_imp extends test
' working implementation of test
...
end type


the second comes from missing overloading and is a really bad thing for inheritance, can only second that.

3rd example:
use method new for initialisation things. They are called for any of their base types.

type test
 method new ()
  print "test"
 end method
end type

type test_ex extends test
 method new ()
  print "trala"
 end method
end type


if you create an instance of test_ex you will see that both new will be called as the creation of test_ex needs an initialisation of test for extension.


btw: I found something very strange today in one of BRLs modules.

There you see that he calls a Typename with a value (TMax2DGraphicsDriver (g)) to create a type. But so far I'm not able to understand what it does there or how to use. If I try it, I always get the message "Illegal subexpression for object cast" ...

So somehow constructor with values seem to be possible.