Framework design, initialization and framework usage

Robert M. Münch robert.muench at saphirion.com
Tue May 7 15:17:53 UTC 2019


On 2019-05-07 09:06:03 +0000, Kagamin said:

> struct myFramework {
> 	myFrameworkAccessor myFWApp;
> }
> 
> interface myFrameworkApp {
> 	void init();
> }
> 
> main(){
> 	myFramework mf = new myFramework;
> 
> 	mf.myFWApp.init(); // this bombs because myFWApp is NULL
> }
> 
> struct myFrameworkAccessor {
> 	myFrameworkApp instance()
> 	{
> 		if(_instance==null)_instance=new myAppCode();
> 		return _instance;
> 	}
> 	myFrameworkApp _instance;
> 	alias instance this;
> }
> 
> class myAppCode : myFrameworkApp {
> 	void init() {...}
> }

Tried this in a simplex example but get a compile error:

Error: cannot implicitly convert expression `new 
myFramework(myFrameworkAccessor(null))` of type `myFramework*` to 
`myFramework`


-- 
Robert M. Münch
http://www.saphirion.com
smarter | better | faster



More information about the Digitalmars-d-learn mailing list