Thanks,
In C the GetProcAddress can get the function pointer, for example
typedef int (*MYADD)(int, int);
MYADD add = (MYADD) GetProcAddress(hMyLib, "add");
but how to pass the function pointer to that delegate?
Thank you very much again!
> Hi,
>
[quoted text clipped - 13 lines]
> >
> > thank you very much!
Chris Taylor - 31 Oct 2003 04:33 GMT
Hi,
If you are going to bind statically to the function then you could use
interop aka P/Invoke from the System.Runtime.InteropServices name space.
[DllImport("dllname.dll")]
public int Add( int a, int b );
If you want to do this dynamically it is a little more work, I believe there
is a solution using the Relection Emit however I would rather want to test
this before commiting to it here :). But in principal, an I believe this
should answer your other post as well. You could use the Reflection classes
to create a temporary Assembly that can use interop to load the function and
use the Reflection Emit to create a .NET function which would perform the
actual invocation of the method. Being 5:31 in the morning I might just be
dreaming here but if I get a chance I will give it a try and post my
results.
The following is a more hardcoded approach to what I am suggesting, it might
get you going
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=ueqNoUdtCHA.254
0%40TK2MSFTNGP10
Cheers
Chris Taylor
> Thanks,
>
[quoted text clipped - 24 lines]
> > >
> > > thank you very much!
ZhangZQ - 31 Oct 2003 04:37 GMT
Wah!!! great, you are really an expert.
Thank you very much!
> Hi,
>
[quoted text clipped - 16 lines]
> The following is a more hardcoded approach to what I am suggesting, it might
> get you going
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=ueqNoUdtCHA.254
0%40TK2MSFTNGP10
> Cheers
>
[quoted text clipped - 28 lines]
> > > >
> > > > thank you very much!
Fabian Schmied - 31 Oct 2003 21:43 GMT
> In C the GetProcAddress can get the function pointer, for example
>
> typedef int (*MYADD)(int, int);
> MYADD add = (MYADD) GetProcAddress(hMyLib, "add");
>
> but how to pass the function pointer to that delegate?
In addition to what Chris Taylor posted, I thought you might also be
interested in http://www.bearcanyon.com/dotnet/#getprocaddress, this sounds
pretty similar to what you want to achieve.
Fabian