@@ -1503,7 +1503,16 @@ function TPHPEngine.GetConstantCount: integer;
15031503begin
15041504 Result := FConstants.Count;
15051505end ;
1506-
1506+ {
1507+ procedure log(i:String);
1508+ var f:TextFile;
1509+ begin
1510+ AssignFile(f, 'log.txt');
1511+ Append(f);
1512+ Write(f, #10 + #13 + i);
1513+ CloseFile(f);
1514+ end;
1515+ }
15071516procedure TPHPEngine.HandleRequest (ht: integer; return_value: pzval;
15081517 return_value_ptr: ppzval; this_ptr: pzval; return_value_used: integer;
15091518 TSRMLS_DC: pointer);
@@ -1519,7 +1528,6 @@ procedure TPHPEngine.HandleRequest(ht: integer; return_value: pzval;
15191528 ReturnValue : variant;
15201529begin
15211530 FParameters := TFunctionParams.Create(nil , TFunctionParam);
1522- try
15231531
15241532 if ht > 0 then
15251533 begin
@@ -1564,23 +1572,22 @@ procedure TPHPEngine.HandleRequest(ht: integer; return_value: pzval;
15641572 FParameters[j].ZendValue := (Params[j]^);
15651573 end ;
15661574 end ; { if ht > 0}
1567-
1575+ // log(FActiveFunctionName);
15681576 FZendVar := TZendVariable.Create;
1569- try
15701577 FZendVar.AsZendVariable := return_value;
15711578 AFunction.OnExecute(Self, FParameters, ReturnValue, FZendVar, TSRMLS_DC);
1572- if FZendVar.ISNull then { perform variant conversion}
1573- VariantToZend(ReturnValue, return_value);
1574- finally
1575- FZendVar.Free;
1576- end ;
1579+ if Assigned(FZendVar) then
1580+ begin
1581+ if FZendVar.ISNull then { perform variant conversion}
1582+ VariantToZend(ReturnValue, return_value);
1583+ FZendVar.Free;
1584+ end
1585+ else
1586+ VariantToZend(ReturnValue, return_value);
15771587 end ; { if assigned AFunction.OnExecute}
15781588 end ;
1579-
1580- finally
15811589 FParameters.Free;
15821590 dispose_pzval_array(Params);
1583- end ;
15841591end ;
15851592
15861593procedure TPHPEngine.PrepareIniEntry ;
0 commit comments