![]() |
PHP4Delphi Problem
Ich bekomme es einfach nicht hin, die PHP4Delphi-Demo ans laufen zu bekommen.
in der "test.php" (eieser code soll ausgeführt werden) steht:
Code:
EIGENTLICH müsste z jetzt 3 sein. es ist aber immer 0?
<?
$z = 1 + 2; echo "Result " ; echo $z; ?> |
Re: PHP4Delphi Problem
Hallo Tommy,
hast du einmal z vielleicht groß geschrieben und einmal klein? |
Re: PHP4Delphi Problem
Nein, "leider" so einfach nicht.
Hier ist der ausführende Code:
Delphi-Quellcode:
procedure TForm1.btnExecuteScriptClick(Sender: TObject);
var S : String; L : integer; begin Memo1.Lines.Clear; RequestID := InitRequest; RegisterVariable(RequestID, 'x','2'); RegisterVariable(RequestID, 'y','3'); RegisterVariable(RequestID, 'z','0'); // z zu anfangs 0 zuweisen ExecutePHP(RequestID, 'test.php'); // test.php öffnen L := GetResultText(RequestID, nil, 0); if L > 0 then begin SetLength(S, L); GetResultText(RequestID, PChar(S), L); end; memo1.Lines.Text := S; // das hier wird garnicht erst ausgeführt L := GetVariableSize(RequestID, 'z'); if L > 0 then begin SetLength(S, L); GetVariable(RequestID, 'z', PChar(S), L); ShowMessage('After execution z = ' + S); // S IMMER 0! end; DoneRequest(RequestID); end; |
Re: PHP4Delphi Problem
Was spricht gegen folgendes...
Delphi-Quellcode:
Gruss
function PHPCalc(x, y:string):string;
var psvPHP:TpsvPHP; vx, vy, vz:TPHPVariable; begin psvPHP:=TpsvPHP.Create(nil); try psvPHP.DLLFolder:='c:\programme\php\'; vx:=psvPHP.Variables.Add; vx.Name:='x'; vx.Value:='2'; vy:=psvPHP.Variables.Add; vy.Name:='y'; vy.Value:='3'; vz:=psvPHP.Variables.Add; vz.Name:='z'; vz.Value:=''; psvPHP.RunCode('$z = $x + $y;'); Result := psvPHP.VariableByName('z').Value; finally psvPHP.free; end; end; Thorsten |
Re: PHP4Delphi Problem
Naja, eigentlich gehts mir dadrum, dass ich der WebBrowser-Komponente beibringe PHP zu verstehen und zu verarbeiten :?
|
Re: PHP4Delphi Problem
Ja und? Das geht doch auch damit...
Delphi-Quellcode:
Aufruf:
function PHPExecute(php:string):string;
var psvPHP:TpsvPHP; begin psvPHP:=TpsvPHP.Create(nil); try psvPHP.DLLFolder:='c:\programme\php\'; delete(php, 1, pos('<?', php)+1); php:=copy(php, 1, pos('?>', php)-1); Result:=psvPHP.RunCode(php); finally psvPHP.free; end; end;
Delphi-Quellcode:
Ausgabe: "Result 3"
var s:string;
begin s:= '<?'#13 + ' $z = 1 + 2;'#13 + ' echo "Result ";'#13 + ' echo $z;'#13 + '?>'; ShowMessage(PHPExecute(s)); end; Gruss Thorsten |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz