@@ -127,7 +127,7 @@ interface
127
127
128
128
129
129
function GetSymbolsTable : PHashTable;
130
- function GetTrackHash (Name : AnsiString ) : PHashTable;
130
+ function GetTrackHash (Name : zend_ustr ) : PHashTable;
131
131
function GetSAPIGlobals : Psapi_globals_struct; overload;
132
132
function GetSAPIGlobals (TSRMLS_DC : pointer) : Psapi_globals_struct; overload;
133
133
// procedure phperror(Error : zend_pchar);
@@ -244,7 +244,7 @@ function PG(TSRMLS_DC : pointer) : Pphp_Core_Globals;
244
244
245
245
procedure PHP_FUNCTION (var AFunction : zend_function_entry; AName : zend_pchar; AHandler : pointer);
246
246
247
- function LoadPHP (const DllFileName: AnsiString = PHPWin) : boolean;
247
+ function LoadPHP (const DllFileName: zend_ustr = PHPWin) : boolean;
248
248
249
249
procedure UnloadPHP ;
250
250
@@ -254,8 +254,8 @@ function PHPLoaded : boolean;
254
254
procedure CheckPHPErrors ;
255
255
{ $ENDIF}
256
256
257
- function FloatToValue (Value : Extended): AnsiString ;
258
- function ValueToFloat (Value : AnsiString ) : extended;
257
+ function FloatToValue (Value : Extended): zend_ustr ;
258
+ function ValueToFloat (Value : zend_ustr ) : extended;
259
259
260
260
261
261
var
@@ -357,7 +357,7 @@ function GetSymbolsTable : PHashTable;
357
357
358
358
{ $ENDIF}
359
359
360
- function GetTrackHash (Name : AnsiString ) : PHashTable;
360
+ function GetTrackHash (Name : zend_ustr ) : PHashTable;
361
361
var
362
362
data : ^ppzval;
363
363
arr : PHashTable;
@@ -431,7 +431,7 @@ function zval2variant(value : zval) : variant;
431
431
IS_NULL : Result := NULL;
432
432
IS_LONG : Result := Value .value .lval;
433
433
IS_DOUBLE : Result := Value .value .dval;
434
- IS_STRING : Result := AnsiString (Value .Value .str.val);
434
+ IS_STRING : Result := zend_ustr (Value .Value .str.val);
435
435
IS_BOOL : Result := Boolean(Value .Value .lval);
436
436
else
437
437
Result := NULL;
@@ -495,7 +495,7 @@ procedure variant2zval(value : variant;var z : pzval);
495
495
ZVAL_NULL(z);
496
496
Exit;
497
497
end ;
498
- // MessageBoxA(0, zend_pchar(AnsiString ( TVarData(Value).VType.ToString)), '', 0 ) ;
498
+ // MessageBoxA(0, zend_pchar(zend_ustr ( TVarData(Value).VType.ToString)), '', 0 ) ;
499
499
case TVarData(Value ).VType of
500
500
varString : // Peter Enz
501
501
begin
@@ -513,7 +513,7 @@ procedure variant2zval(value : variant;var z : pzval);
513
513
begin
514
514
S := string(TVarData(Value ).VUString);
515
515
516
- ZVAL_STRING(z, zend_pchar(AnsiString (S)), true);
516
+ ZVAL_STRING(z, zend_pchar(zend_ustr (S)), true);
517
517
end ;
518
518
519
519
varOleStr : // Peter Enz
@@ -604,7 +604,7 @@ procedure php_end_implicit_flush(TSRMLS_D : pointer);
604
604
{ $ENDIF}
605
605
606
606
607
- function LoadPHP (const DllFileName: AnsiString = PHPWin) : boolean;
607
+ function LoadPHP (const DllFileName: zend_ustr = PHPWin) : boolean;
608
608
609
609
begin
610
610
Result := false;
@@ -927,7 +927,7 @@ function GetFilesVariables : pzval;
927
927
end ;
928
928
929
929
930
- function FloatToValue (Value : Extended): AnsiString ;
930
+ function FloatToValue (Value : Extended): zend_ustr ;
931
931
var
932
932
{ $IFDEF VERSION12}
933
933
c: WideChar;
@@ -944,7 +944,7 @@ function FloatToValue(Value: Extended): AnsiString;
944
944
end ;
945
945
end ;
946
946
947
- function ValueToFloat (Value : AnsiString ) : extended;
947
+ function ValueToFloat (Value : zend_ustr ) : extended;
948
948
var
949
949
{ $IFDEF VERSION12}
950
950
c: WideChar;
@@ -962,16 +962,52 @@ function ValueToFloat(Value : AnsiString) : extended;
962
962
end ;
963
963
964
964
965
+ { $IFDEF Linux}
966
+ function GetPHPVersion : TPHPFileInfo;
967
+ begin
968
+
969
+ end ;
970
+ { $ELSE}
965
971
function GetPHPVersion : TPHPFileInfo;
966
972
var
967
- FileName: AnsiString;
973
+ FileName: { $IFDEF PHP_UNICE} String{ $ELSE} AnsiString{ $ENDIF} ;
974
+ InfoSize, Wnd: DWORD;
975
+ VerBuf: Pointer;
976
+ FI: PVSFixedFileInfo;
977
+ VerSize: DWORD;
968
978
begin
969
979
Result.MajorVersion := 0 ;
970
980
Result.MinorVersion := 0 ;
971
981
Result.Release := 0 ;
972
982
Result.Build := 0 ;
973
983
FileName := PHPWin;
984
+ { $IFDEF PHP_UNICE}
985
+ InfoSize := GetFileVersionInfoSize(PWideChar(Filename), Wnd);
986
+ { $ELSE}
987
+ InfoSize := GetFileVersionInfoSizeA(PAnsiChar(FileName), Wnd);
988
+ { $ENDIF}
989
+ if InfoSize <> 0 then
990
+ begin
991
+ GetMem(VerBuf, InfoSize);
992
+ try
993
+ { $IFDEF PHP_UNICE}
994
+ if GetFileVersionInfo(PWideChar(FileName), Wnd, InfoSize, VerBuf) then
995
+ { $ELSE}
996
+ if GetFileVersionInfoA(PAnsiChar(FileName), Wnd, InfoSize, VerBuf) then
997
+ { $ENDIF}
998
+ if VerQueryValue(VerBuf, ' \' , Pointer(FI), VerSize) then
999
+ begin
1000
+ Result.MajorVersion := HIWORD(FI.dwFileVersionMS);
1001
+ Result.MinorVersion := LOWORD(FI.dwFileVersionMS);
1002
+ Result.Release := HIWORD(FI.dwFileVersionLS);
1003
+ Result.Build := LOWORD(FI.dwFileVersionLS);
1004
+ end ;
1005
+ finally
1006
+ FreeMem(VerBuf);
1007
+ end ;
1008
+ end ;
974
1009
end ;
1010
+ { $ENDIF}
975
1011
976
1012
initialization
977
1013
{ $IFDEF PHP4DELPHI_AUTOLOAD}
0 commit comments