From 6e0f22ce5e00ee76acac339207e987ab802e10fe Mon Sep 17 00:00:00 2001 From: ivost Date: Fri, 27 Mar 2009 02:38:57 +0000 Subject: [PATCH] * fixed call of mysql_library_init in TryInitializeMysql git-svn-id: trunk@12966 - --- packages/mysql/src/mysql.inc | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/packages/mysql/src/mysql.inc b/packages/mysql/src/mysql.inc index a42b2d9777..9528db3a75 100644 --- a/packages/mysql/src/mysql.inc +++ b/packages/mysql/src/mysql.inc @@ -1486,8 +1486,8 @@ uses {$endif} {$IFDEF LinkDynamically} -Function InitialiseMysql(Const LibraryName : String; argc:cint = 0; argv:PPchar = nil; groups:PPchar = nil) : Integer; -Function InitialiseMysql(argc:cint = 0; argv:PPchar = nil; groups:PPchar = nil) : Integer; +Function InitialiseMysql(Const LibraryName : String; argc:cint = -1; argv:PPchar = nil; groups:PPchar = nil) : Integer; +Function InitialiseMysql(argc:cint = -1; argv:PPchar = nil; groups:PPchar = nil) : Integer; Procedure ReleaseMysql; var MysqlLibraryHandle : TLibHandle; @@ -1506,13 +1506,12 @@ var RefCount : integer; LoadedLibrary : String; -Function TryInitialiseMysql(Const LibraryName : String; argc:cint = 0; argv:PPchar = nil; groups:PPchar = nil) : Integer; - +Function TryInitialiseMysql(Const LibraryName: String; argc: cint; argv: PPchar; groups: PPchar) : Integer; begin Result := 0; if (RefCount=0) then - begin + begin MysqlLibraryHandle := loadlibrary(LibraryName); if (MysqlLibraryHandle=nilhandle) then Exit; @@ -1620,14 +1619,21 @@ begin pointer(mysql_stmt_insert_id) := GetProcedureAddress(MysqlLibraryHandle,'mysql_stmt_insert_id'); pointer(mysql_stmt_field_count) := GetProcedureAddress(MysqlLibraryHandle,'mysql_stmt_field_count'); - mysql_library_init(0,nil,nil); - end - else + if @mysql_library_init <> nil then + begin + if mysql_library_init(argc, argv, groups) <> 0 then + Exit; + end else + if mysql_server_init(argc, argv, groups) <> 0 then + Exit; + + end else inc(RefCount); + Result:=RefCount; end; -Function InitialiseMysql(argc:cint = 0; argv:PPchar = nil; groups:PPchar = nil) : Integer; +Function InitialiseMysql(argc: cint; argv: PPchar; groups: PPchar) : Integer; begin Result := 0; @@ -1637,7 +1643,7 @@ begin Result := RefCount; end; -Function InitialiseMysql(Const LibraryName : String; argc:cint = 0; argv:PPchar = nil; groups:PPchar = nil) : Integer; +Function InitialiseMysql(Const LibraryName: String; argc: cint; argv: PPchar; groups:PPchar) : Integer; begin Result := TryInitialiseMysql(LibraryName,argc,argv,groups);