[fpc-pascal] dll with windows impossible???

Michael Van Canneyt michael at freepascal.org
Wed Jan 24 23:43:14 CET 2007



On Wed, 24 Jan 2007, Michel Meunier wrote:

> Michael Van Canneyt a écrit :
> > On Wed, 24 Jan 2007, Michel Meunier wrote:
> >
> > [cut code]
> >   
> > > xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> > > and IT DOESN'T WORK, why? It is exactly the same code!
> > > More and more I think I am going to translate my code in C, because FPC
> > > seems
> > > unable to manage properly dll library.
> > >     
> >
> > It has nothing to do with FPC. 
> >
> > 1. Compile the DLL without debug info. 
> >    (lazarus compiles it by default with debug info included. Disable that)
> >   
> it's the case
> > 2. ALWAYS specify the complete path to the DLL. Do NOT assume that
> >    the program is started with as the current directory the program
> >    directory.  This is a common mistake.
> >
> >   
> Ok, I have tried, and the problem is the same :-(

1. What is the return value of LoadLibrary ? Have you checked it ?

2. If it is <>0 immediatly get the last error: raiselastoserror.
   This should give you at least a hint why windows thinks it can't load your library.

3. Did you specify $APPTYPE GUI in the library as well ?
   If not, do so. Otherwise the library will try to initialize the terminal, 
   when it cannot: there is none, since the loading program does not have one!

4. You can also try vice versa: specify apptype console in your GUI program.
   The GUI will still run, but in addition a terminal will be opened, allowing
   the library to initialize it.

Can you test all this, please ?

Michael.


More information about the fpc-pascal mailing list