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

Reply via email to