On Sat, 15 Sep 2007, Sebastian Kraft wrote:
> Hi,
>
> Isn't it possible to use some functions from a dynamic library and afterwards
> unload the library?
> can anybody tell me whats wrong with the following code?
>
> This is my library:
>
> ++++++++++++++++++++++
> library testlib1;
>
> function GetString: string;export;
> begin
> result:='test';
> end;
>
> exports GetString;
> end.
> +++++++++++++++++++++++
>
> and here how it is called
>
> +++++++++++++++++++++++++
> var
> libhandle: TLibHandle;
> GetStringAddr: function: string;
> str: string;
> begin
> libhandle:=LoadLibrary('libtestlib1');
> pointer(GetStringAddr):=GetProcAddress(FLibraryHandle, 'GetString');
> str:=GetStrAddr();
> writeln(str)
> unloadLibrary(libhandle);
> writeln(str)
> end.
> +++++++++++++++++++++++
>
> It always crashes when I want to write 'str' the second time :(
Probably because the library has closed standard output ?
Michael.
_________________________________________________________________
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives