Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mcGrid_Initialize & mcGrid_Terminate definitions are missing... #95

Open
CodeVisio opened this issue Mar 22, 2023 · 2 comments
Open

mcGrid_Initialize & mcGrid_Terminate definitions are missing... #95

CodeVisio opened this issue Mar 22, 2023 · 2 comments

Comments

@CodeVisio
Copy link

Hi,

I've been looking to your great controls but I couldn't find the definition of the two functions above.

Am I missing something?

Thanks

@CodeVisio
Copy link
Author

Are you still developing those tools?
The last changes were many years ago.

@codygray
Copy link

codygray commented Jul 4, 2023

The definitions for these functions aren't missing, they are just named something other than what you expect. Look in the grid.c file for the functions named grid_init_module and grid_fini_module. These two functions correspond to mcGrid_Initialize and mcGrid_Terminate, respectively.

The mCtrl.def file's EXPORTS statement lists the names of the functions that are exported by the DLL. In here, you'll see the names you expect, mcGrid_Initialize and mcGrid_Terminate, just like in the header file, grid.h.

The dots are connected by code in module.c; look at the DEFINE_MODULE and DEFINE_PUBLIC_IFACE macros. When expanded out, these have the result of mapping grid_init_module to mcGrid_Initialize and grid_fini_module to mcGrid_Terminate, along with the equivalents for all of the other controls.

I have no idea why the decision was made to name the internal implementations something different from what is exported, but the definitions are there, and they do work.

As for whether the library is still being developed, I don't have any inside information there, either, but it certainly doesn't look like there is any active development going on. As you noted, the last changes were many years ago, and there is a pending PR from 2 years ago that is a very simple, very critical fix, which hasn't been merged yet. I'd assume the author was indisposed, but he's updated some of his other repositories, so I guess he has just lost interest in this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants