Hi, 'scue me if I did not catch something, but
On 13/01/14 12:13, Fred van Stappen wrote: [...] >> > procedure InitLib(LibFile : PAnsiChar); >> > begin >> > LibHandle:=DynLibs.LoadLibrary(libfilename); >> > if LibHandle <> DynLibs.NilHandle then >> > >> > Pointer(soundtouch_createInstance) := >> > DynLibs.GetProcedureAddress(LibHandle, >> > PAnsiChar('soundtouch_createInstance')); >> /// why not just : @soundtouch_createInstance := DynLibs.GetProcedureAddress(LibHandle, PAnsiChar('soundtouch_createInstance')); (or without the PAnsiChar cast as Michael said:) @soundtouch_createInstance := DynLibs.GetProcedureAddress(LibHandle, 'soundtouch_createInstance'); ? >> Remove the typecast PansiChar() >> >> Michael. [...] > > 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(); > > Maybe, i dont understood your question... > if Assigned(soundtouch_createInstance) then ShowMessage('Got good pointer for soundtouch_createInstance') else ShowMessage('soundtouch_createInstance not assigned); placed directly after the GetProcedureAddress call ? _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal