I have been playing with getting a large application made with VB6 and using many third-party ActiveX controls to work with Wine. I am currently having a problem with the absence of COMCAT.DLL and The Component Categories Manager which is ostensibly implemented in it. In fact, Windows implements it in OLE32.DLL; COMCAT.DLL has do-nothing stubs for the registration functions and forwards DllGetClassObject to OLE32.DLL.
The MSDN documentation for The Component Categories Manager seems very straightforward; it documents ICatRegister and ICatInformation, which I believe I could implement. Since I've not contributed to Wine before, and just recently joined the digested list, I want to check the following things:
* Is anyone else working on this at the moment?
* Is there a major technical reason this can't be done yet?
* Is there some other reason for me not to work on this soon?
* How should the source for this new functionality be organized?
* Is there a standard (or exemplary) way to implement IEnumXXXX? I'll be needing IEnumCATID, IEnumCLSID, and IEnumCATEGORYINFO.
* What should I do when I think I have working code?
Hi John, welcome to the list.
--- "John K. Hohm" jhohm@acm.org wrote:
I have been playing with getting a large application made with VB6 and using many third-party ActiveX controls to work with Wine. I am currently having a problem with the absence of COMCAT.DLL and The Component Categories Manager which is ostensibly implemented in it. In fact, Windows implements it in OLE32.DLL; COMCAT.DLL has do-nothing stubs for the registration functions and forwards DllGetClassObject to OLE32.DLL.
The MSDN documentation for The Component Categories Manager seems very straightforward; it documents ICatRegister and ICatInformation, which I believe I could implement. Since I've not contributed to Wine before, and just recently joined the digested list, I want to check the following things:
- Is anyone else working on this at the moment?
Nobody, as far as I know. I advise you to search Bugzilla (http://bugs.winehq.com/) for the subj. If nobody created an entry for this issue, please, create a bug with detailed description what needs to be done. Take ownership over the bug if you are starting to work on it. In this way other developers will know that you are working on the issue.
- Is there a major technical reason this can't be
done yet?
- Is there some other reason for me not to work on
this soon?
- How should the source for this new functionality
be organized?
There are no formalities - just start to edit the sources and implement missed functionality. Do you have any specific question? Read the documentation how patches should be submitted.
- Is there a standard (or exemplary) way to
implement IEnumXXXX? I'll be needing IEnumCATID, IEnumCLSID, and IEnumCATEGORYINFO.
I have no idea and will let to answer experts if there are any specifics, but did you search Wine sources for implementation of other IEnumXXXXs?
- What should I do when I think I have working code?
In short - send the patches to wine-patches@winehq.com. Visit www.winehq.com for detailed information, this process is described there very well.
Regards, Andriy Palamarchuk
__________________________________________________ Do You Yahoo!? Yahoo! Health - your guide to health and wellness http://health.yahoo.com
On Tue, May 07, 2002 at 07:53:13AM -0700, Andriy Palamarchuk wrote:
Hi John, welcome to the list.
...
There are no formalities - just start to edit the sources and implement missed functionality. Do you have any specific question? Read the documentation how patches should be submitted.
Actually, look at DEVELOPERS-HINTS for naming conventions.
...
- What should I do when I think I have working code?
In short - send the patches to wine-patches@winehq.com. Visit www.winehq.com for detailed information, this process is described there very well.
Just make sure you do a diff -u and look through the wine-patches list at other people's submissions to get an idea of a good format. Also, expect people to read your code and give you constructive criticism.