1. Re: VCL
- Posted by Daniel Berstein <daber at PAIR.COM> Feb 22, 1999
- 413 views
At 02:06 PM 21-02-1999 , you wrote: >Daniel Berstein wrote: > >>VCL is the Visual Component Library. It a collection of native code >>components that encapsulate (each) a visual interface element ( = control >>or gadget). It's much simpler to just include a "button" component in your >>application than to explicitly creating/registering the window class and >>then create it and make a wndproc. A clear interface is required, in >>essence you neee OO to achieve this, but with some tricky use of routine >>id's we should be able to by-pass this obstacle. > >Can you point to some reference which gives more details? Well you can always go to Borland's page (yes, Inprise has begun to use again the Borland brand) at www.borland.com, or www.inprise.com and take a look to information regarding Delphi & C++ Builder. But the actual implemetation of a component library that Borland made isn't important. Microsoft has their own (for system wide usage), it's called COM (Component Object Model) that is the base for other technologies like OLE, ActiveX and ADO. COM support in Euphoria would be great, we could use all those ActiveX controls (.OCX) VB can use... unfortunatly I belive this would be a very complex task and I'm ot sure if a library wrapper could be built for this purpose. COM is quite mysterious to me ;) About this future ECM, Euphoria Component Model, (ECL would be the "standard" components deployed with Euphoria): A interface API should be developed to command the component appearence/functionality. The component should be built providing a defined interface. Interfaces may be: ECM_Create() -- Creates an instance of the component ECM_Destroy() -- Destroys an instance of the component ECM_Command() -- Send a component specific command (like WinAPI's SendMessage) ECM_GetProperty() -- Retrives a component property (data member) etc... All components must adhere to the ECM specification interfaces. Note that not only windows components can be developed. A compression component could be built, as well as abstarct components (such as a dataset). Versioning compatibility problems (like in win32lib) would be "softened" by these standard interfaces. By adhering to a specification no component would requiere a special wrapper, ECM is the wrapper. A method to sub-class or inherit a component would be quite usefull to build a componet tree, allowing third parties to further customize an existing component. Note that Windows standard/common controls could be wrapped by ECM components. Euphoria developers would be (almost) completly abstracted from the underlaying WinAPI! It's all about abstraction... keep the interfaces simple, let the component developer do the work. With a component model Euphoria can become a RAD tool. ECM would do to Euphoria what Delphi (VCL) did to Pascal. Any suggestion? Regards, Daniel Berstein daber at pair.com