NET wrapper - COM interop?

1728
5
08-24-2011 05:45 AM
ChrisMorgan1
New Contributor III
Hi,

It is really great to see that V1.1 of the File GDB API is now accessible from .NET applications.
Is there any chance of adding COM interoperability, so that we can use the API from non-NET languagues on Windows?

Thanks,

Chris
0 Kudos
5 Replies
DavidSousa
New Contributor III
Why not just use the C++ version of the API?

I am not sure what advantage there would be in adding a COM interop to the .NET version of the API.
0 Kudos
ChrisMorgan1
New Contributor III
Why not just use the C++ version of the API?

I am not sure what advantage there would be in adding a COM interop to the .NET version of the API.


Because my language of choice is not C++. It is Delphi.
COM DLLs are language independent, C++ DLLs are not - they can only be used by exes compiled using the same version of Microsoft Visual C++. 

I have written a quick wrapper DLL in C++, which 'flattens' all the C++ classes in the FGDB API that I am using at present, and exports them as stdcall functions. This is workable, but not ideal.
A COM wrapper would be much more forward compatible, and provide even more platform neutrality than the .NET wrapper.

cheers,

Chris
0 Kudos
ArturRedzko
New Contributor
I'm using Delphi too but for me a better solution would be to have clean C API. A temporary solution is to have own C wrapper or use existing via GDAL. I hope that if .NET developers got the API, a similar C API can be created soon. We waited a long time for this SDK so please satisfy all programmers 😉

Regards
Artur
0 Kudos
VinceAngelo
Esri Esteemed Contributor
Keep in mind that the ArcObjects file geodatabase code is written in C++. This is what has been
ported into the FileGDB API. Esri has no plan to re-write the file geodatabase API in 'C'.

- V
0 Kudos
ArturRedzko
New Contributor
I don't want you to re-write the file geodatabase API in 'C', just add additional C API wrapper like for .NET. A good example here is GDAL library where most code is in C++ but there is additional C API wrapper around. It can be simplified to limit work required.
0 Kudos