mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 23:09:40 +02:00
+ OS/2 implementation
This commit is contained in:
parent
bd928ecf72
commit
121ee1eee2
71
rtl/os2/dynlibs.inc
Normal file
71
rtl/os2/dynlibs.inc
Normal file
@ -0,0 +1,71 @@
|
||||
{
|
||||
$Id$
|
||||
This file is part of the Free Pascal run time library.
|
||||
Copyright (c) 1999-2000 by the Free Pascal development team
|
||||
|
||||
Implements OS dependent part for loading of dynamic libraries.
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
**********************************************************************}
|
||||
|
||||
|
||||
{$ifdef readinterface}
|
||||
|
||||
{ ---------------------------------------------------------------------
|
||||
Interface declarations
|
||||
---------------------------------------------------------------------}
|
||||
|
||||
type
|
||||
TLibHandle = longint;
|
||||
|
||||
const
|
||||
NilHandle = 0;
|
||||
|
||||
{$else}
|
||||
|
||||
{ ---------------------------------------------------------------------
|
||||
Implementation section
|
||||
---------------------------------------------------------------------}
|
||||
|
||||
uses
|
||||
DosCalls;
|
||||
|
||||
function LoadLibrary (Name: AnsiString): TLibHandle;
|
||||
var
|
||||
ErrPath: array [0..259] of char;
|
||||
Handle: longint;
|
||||
begin
|
||||
if DosLoadModule (@ErrPath, SizeOf (ErrPath), PChar (Name), Handle) <> 0)
|
||||
then Result := Handle else Result := NilHandle;
|
||||
end;
|
||||
|
||||
function GetProcedureAddress (Lib: TLibHandle; ProcName: AnsiString): pointer;
|
||||
var
|
||||
P: pointer;
|
||||
begin
|
||||
if DosQueryProcAddr (Lib, 0, PChar (ProcName), @P) = 0 then Result := P
|
||||
else Result := nil;
|
||||
end;
|
||||
|
||||
function UnloadLibrary (Lib: TLibHandle): boolean;
|
||||
begin
|
||||
Result := DosFreeModule (Lib) = 0;
|
||||
end;
|
||||
|
||||
{$endif}
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.1 2000-08-23 21:04:55 hajny
|
||||
+ OS/2 implementation
|
||||
|
||||
Revision 1.1 2000/08/18 19:15:34 michael
|
||||
+ Implemented loading of dynamical libraries
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user