Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi mit Webservice Programme starten ? (https://www.delphipraxis.net/163686-mit-webservice-programme-starten.html)

Gege 11. Okt 2011 14:53


mit Webservice Programme starten ?
 
Hallo ..

folgendes Problem ich hab mir ein Webservice geschrieben ..
mit so einigen Functionen die ich auch schon nutze und auch vom Client aus funktionieren ..
Nun war meine Überlegung .. ob ich nicht für bestimmte Dinge auch mein Webservice benuzen kann..
und wollte wenn ich über eine Bestimmte Function mit übergebenen Passwort und Programm
dieses Starten lassen könnte ..
.. habs schon mit Shellexecute ( also executefile und Fmxutils )

Code:
Executefile('calc.exe', '', '\', SW_NORMAL);
calc ist natürlich nur als Beispiel :)

probiert.
aber es macht einfach nix ?..
debuggen ist ja etwas schwierig ^^
oder geht das evtl gar nicht ? und man kann keine programme ausführen lassen ..

jemand eine Idee ?

Union 11. Okt 2011 14:55

AW: Webservis Programme starten ?
 
Benötigt ein Webservice nicht einen Webserver, in dessen Kontext auf Clientanfragen reagiert wird?

Gege 11. Okt 2011 15:03

AW: Webservis Programme starten ?
 
ja der läuft ja auch .. sonst geht ja alles nicht
wie gesagt die anderen Fuktionen die ich in den Service drinnen hab
(verändern einiger Dateien auf den Rechner oder löschen geht ja auch)

nur eben das Programm aufrufen nicht .. er startet es eben nicht .. ? ..?

also drinnen ist Function die 2 Strings übergeben bekommt.. ein String mit Programm und 2. String für Passwort
wenn Passwort das richtige ist startet er das Programm so der Gedanke ..
Fuktion kommt auch bei Webserver an denn als result bekomm ich das ok (was ich in der Funktion übergebe)
.. aber er macht eben den Shellexecute nicht

Gege 11. Okt 2011 15:05

AW: Webservis Programme starten ?
 
achso als Hinweis ... es handelt sich um ein Cgi-bin webservice .. fals es unterschiede gibt

Union 11. Okt 2011 15:12

AW: Webservis Programme starten ?
 
Theoretisch müsstest Du an das CGI den Parameterstring senden, wie es auch der Server tut, z.b. MeinService.exe &Service=WitzDesTages&Type=LongString.

Das CGI schreibt es dann in stdout.

Gege 11. Okt 2011 15:23

AW: Webservis Programme starten ?
 
ja ..

also mal hier mein webservice mit nur der einen Function

Code:
{ Invokable-Implementierungsdatei für TRico_PC_service das IRico_PC_service implementiert }

unit Rico_PC_serviceImpl;

interface

uses FmxUtils, Windows, Classes, Consts,
  InvokeRegistry, Types, XSBuiltIns, Rico_PC_ServiceIntf;


type

  { TRico_PC_service }
  TRico_PC_service = class(TInvokableClass, IRico_PC_service)

  public
  function Startwenn_ok(const WAS, PW : String): String; stdcall;
  end;

implementation

uses Forms, RtlConsts;

function TRico_PC_service.Startwenn_ok(const WAS, PW : String): String; stdcall;
begin
if (PW='ganzgeheim') then
Begin
Executefile(WAS, '', '\', SW_NORMAL);
result := 'OK :) '+WAS+ 'wurde gestartet !' ;
end;
end;
und der Teil beim Client

Code:
procedure TForm1.Button1Click(Sender: TObject);
var ws: IRico_PC_Service1;

begin
 WS:=GetIRico_PC_Service1(true);
 Label1.Caption:=ws.Startwenn_ok('calc.exe','ganzgeheim');
end;
als Antwort bei Client kommt an : "OK :) calc.exe wurde gestartet !"
aber es wurde dort nichts gestartet .. und calc.exe ist vorhanden und von überall aus aufrufbar..

Luckie 11. Okt 2011 16:57

AW: Webservis Programme starten ?
 
Bitte korrigiere mal den Rechtsschreibfehler im Beitragstitel.

CCRDude 11. Okt 2011 17:10

AW: Webservis Programme starten ?
 
Mit ein bisschen Fehlerbehandlung, Auswertung der Rückgabewerte etc. solltest Du doch ausreichend Informationen bekommen, um dem Problem auf den Grund zu gehen :)

Gege 11. Okt 2011 18:22

AW: Webservis Programme starten ?
 
Zitat:

Zitat von Luckie (Beitrag 1129858)
Bitte korrigiere mal den Rechtsschreibfehler im Beitragstitel.

:shock: na eben .. sorry
aber wie ändere ich das ?? finde nirgens die Möglichkeit ??
(habs gefunden erledigt ..)

@CCRDude ich bekomm ja das Result aber dort passiert eben nichts ..
und wie soll ich das denn anders testen ?
habe ja keine Fehlermeldung ?!

Hatte gedacht es weiß jemand das es so nicht funktionieren kann oder eben anders und es mir vill verrät wie :wink:

Gege 12. Okt 2011 13:18

AW: mit Webservice Programme starten ?
 
@CCRDude
hab mir mal den Rückgabewert direkt rüber geben lassen ..
es kommt Rückgabewert 42 an ? ..
Normal ist das ja kein Fehler .. ??

jemand noch eine Idee oder Erfahrungen ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:23 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz