How's about :
superconnection.bmx
connection.bmx
protocol.bmx
In TSuperConnection you can set up abstract methods etc if you need protocol to call them.
This way allows you to remove the need for includes, and makes the code modular, and more importantly, you will only be recompiling the code that changes, rather than recompiling *everything* everytime....
Try to remove "include" from your vocabulary ;-)
superconnection.bmx
Type TSuperConnection Abstract End Type
connection.bmx
Import "superconnection.bmx" Import "protocol.bmx" Type TConnection Extends TSuperConnection Field protocol:TProtocol End Type
protocol.bmx
Import "superconnection.bmx" Type TProtocol Field connection:TSuperConnection End Type
In TSuperConnection you can set up abstract methods etc if you need protocol to call them.
This way allows you to remove the need for includes, and makes the code modular, and more importantly, you will only be recompiling the code that changes, rather than recompiling *everything* everytime....
Try to remove "include" from your vocabulary ;-)