[fpc-pascal] windows.GetProcAddress() vs DynLibs.GetProcAddress()

Fred van Stappen fiens at hotmail.com
Mon Jan 13 13:59:46 CET 2014


On Mon, 13 Jan 2014, Fred van Stappen wrote:
 
> > > begin
> > > LibHandle:=DynLibs.LoadLibrary(libfilename);
> > >   if LibHandle <> DynLibs.NilHandle then
> > >    
> > >     Pointer(soundtouch_createInstance)        := DynLibs.GetProcedureAddress(LibHandle, PAnsiChar('soundtouch_createInstance
> '));
> > 
> > Remove the typecast PansiChar()
> > 
> > Michael.
> > >> Hello Michael and thanks for answer.
> > But if i remove PansiChar(), i still get :
> > An unhandled exception occurred at $0000000000000000:
> > EAccessViolation: Access violation
> >   $0000000000000000
> 
> What is the value of  Pointer(soundtouch_createInstance) after the above statement ? Is it nil ?
> 
> Michael.
> Thanks for answer Michael.
> 
> Hum, how can i get the value of pointer if the application crash when i do :
> 
> >>  FHandle := soundtouch_createInstance();  
 
Do a
 
Writeln((@soundtouch_createInstance)=Nil);
 
Michael.
___________

Thanks Michael.

Result in Linux for :

if ST_Load('/home/fred/libSoundTouch/libSoundTouch.so')
  then   writeln('ok') else  writeln('no') ;
>> ok

Writeln((@soundtouch_createInstance)=Nil);
>> FALSE

I agree it is very strange, in windows, with unit Windows, it works perfectly..
 

_______________________________________________
fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20140113/c2da5225/attachment.html>


More information about the fpc-pascal mailing list