diff options
author | michael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2013-10-10 06:34:52 +0000 |
---|---|---|
committer | michael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2013-10-10 06:34:52 +0000 |
commit | 8dbe7451a02d930a7f935d44eca406f857d714bf (patch) | |
tree | 5afcd546ac161cdec636dcbb779f69b40fde5437 /packages/oracle | |
parent | cdca55e73c018951fac48716e4118ce95e32d1f8 (diff) | |
download | fpc-8dbe7451a02d930a7f935d44eca406f857d714bf.tar.gz |
* Patch from LaCo to bring implementation in line with other DB dyn units (bug ID 25118)
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25732 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/oracle')
-rw-r--r-- | packages/oracle/src/oci.inc | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/packages/oracle/src/oci.inc b/packages/oracle/src/oci.inc index a75dbeee0c..f8edb30b9a 100644 --- a/packages/oracle/src/oci.inc +++ b/packages/oracle/src/oci.inc @@ -3378,10 +3378,11 @@ uses ctypes, {$include ociap.inc} {$IFDEF LinkDynamically} -Procedure InitialiseOCI(LibraryName: AnsiString = ocilib); +Function InitialiseOCI(const LibraryName: AnsiString = ocilib): integer; Procedure ReleaseOCI; var OCILibraryHandle : TLibHandle; + OCILoadedLibrary : AnsiString; {$ENDIF} implementation @@ -3392,16 +3393,16 @@ implementation var RefCount : integer; - LibName : AnsiString; - -Procedure InitialiseOCI(LibraryName: AnsiString = ocilib); + +function InitialiseOCI(const LibraryName: AnsiString = ocilib): integer; begin inc(RefCount); + Result:=RefCount; if RefCount > 1 then begin - if CompareText(LibName,LibraryName)<>0 then - Raise EInOutError.CreateFmt('Can not load Oracle client library "%s". it is already loaded as "%s".',[LibraryName,LibName]); + if CompareText(OCILoadedLibrary,LibraryName)<>0 then + Raise EInOutError.CreateFmt('Can not load Oracle client library "%s". it is already loaded as "%s".',[LibraryName,OCILoadedLibrary]); exit; end else @@ -3412,7 +3413,7 @@ begin RefCount := 0; Raise EInOutError.CreateFmt('Can not load Oracle client library "%s". Is it installed?',[LibraryName]); end; - libName:=LibraryName; + OCILoadedLibrary:=LibraryName; end; { ORL.inc} @@ -3912,7 +3913,7 @@ begin begin if not UnloadLibrary(OCILibraryHandle) then inc(RefCount); - LibName:=''; + OCILoadedLibrary:=''; end; end; |