Subject Re: EXTERN issue
From Gene Moore <chrtsi@aol.com>
Date Sat, 28 Nov 2015 14:40:09 -0500
Newsgroups dbase.getting-started

Gene Moore Wrote:

> Rich... Wrote:
>
> > Try without the CDECL and the DO
> > extern cint dBinput() cga.dll
> > ? dBinput()
> >
> > The name of the function has to be *exactly* the same as it is in the DLL
> > including capitalization. I suspect the name of the function is wrong or not
> > capitalized properly.
> > If that doesn't help more information would be nice like maybe where this
> > dll came from, what it supposed to do and maybe a snippet of code from that
> > C++ program that can access this dll successfully.
> > Rich...
> >
> > "Gene Moore"  wrote in message news:O1ViijJKRHA.3560@ip-AC1E04A7...
> >
> > I have this in a .prg file:
> >
> > extern CDECL cint dBinput() cga.dll
> > do dBinput()
> >
> > I get "procedure not found dBinput"
> >
> > It works fine when called from a C++ program. I've read the help and seem to
> > be doing it right. (Yes, cga.dll is in the same folder.) What am I missing?
> > I also tried it as:
> >
> >
> > extern cint dBinput() cga.dll
> > do dBinput()
> >
> > and got the same result..
> > Thanks,
> > Gene Moore
> >
> I have tried load dll cga.dll with no difference.
>
> Here's the actual routine (C++):
>
> int dBinput()
> {
>         CDbinputDlg dlgdbinput;
>         dlgdbinput.DoModal();
>         return(0);
> }
>
> Here's where I think the problem is:
>
> #define DllExport   __declspec( dllexport )
>
> DllExport int dBinput();
>
> This may not be the proper way to do it for .prg files.
>
> My C++ programs use this convention and here's what a successful call looked like:
>
> #define DllImport   __declspec( dllimport )
>
> DllImport int dBinput();
>
> dBinput();
>
> The program is linked with the cga.lib file created when cga.dll was built.

Problem circumvented (not solved). I was trying to come up with a generic replacement for the @, Say sequence to get some input to the program. I've done that, and will be happy to share the technique with anyone who's interested.