Announcement

Collapse
No announcement yet.

Parameter übergabe von fremder Anwendung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Parameter übergabe von fremder Anwendung

    Hallo Leute

    Ich möchte aus einen VBScript ein Delphi-Programm aufrufen. Bei dem Aufruf möcht ich dem Programm einige Parameter übergeben. z.B. Demo.exe /test1 /test2.... welche ich ja mit Parastr() auswerten kann.

    So nun mein Problem : wie kann ich eine Rückgabewert senden ?
    Ich möchte eine Auswertungsergebnis an mein VBScript senden .. ! Wer kann mir hier helfen ?
    Ich freu mich über jede Hilfe

    Gruß Peter

  • #2
    Hallo,

    der einfachste und universellste Weg besteht darin, die eigene Anwendung nachträglich mit einem <b>Automatisierungsobjekt</b> nachzurüsten (Menü <i>Datei | Neu... | Weitere... (Objektgalerie) | ActiveX | Automatisierungsobjekt</i>). In diesem Fall kann das VB-Script das eigene Delphi-Objekt direkt erzeugen, Interface-Methoden aufrufen und Ergebnisse vom eigenen Delphi-Objekt abholen. Das könnte etwa so aussehen:
    <pre>
    Set Shell = CreateObject("VBSCallDelphiForm.VBSCallDelphiFormO bj")
    Shell.Formshow
    MsgBox "VBS-Script ist fertig!"
    </pre&gt

    Comment


    • #3
      Hallo, und vielen lieben Dank für die schnelle Antwort. Da mein Script innerhalb einer Metaframe-Farm läuft kann ich keine DLL´s registrieren. Mein Problem ist eigentlich nur .... wie bekomme ich einen Rückgabewert meiner Delphi-Anwendung ? Bisher erhalte ich beim beenden des Programms den Wert "0" ... wie kann ich den Wert beeinflussen ? Ich sollte einen String zurücksenden ! Sie würden einen sehr großen Gefallen tun wenn Sie mir helfen könnten..

      Gruß Pete

      Comment


      • #4
        Hallo,

        ein VBScript-Makro kann nicht auf die üblichen Verfahren zur Interprozess-Kommunikationen (wie zum Beispiel dem Versenden der Windows-Botschaft WM_COPYDATA) zurückgreifen. Beim Zugriff auf ein Automatisierungsobjekt muss keine DLL registriert werden, die auf dem Server installierte EXE der eigenen Anwendung reicht völlig aus (da das von VBScript aufgerufene COM-Objekt direkt in der EXE steckt)

        Comment


        • #5
          Hallo,

          möchte Dich nun fragen ob Du eine ander Idee für mich hast! Mein Problem : Ich habe ein VBScript welches ein Laufwerksmapping für jeden sich anmeldenten User durchführt. Die Passwortabfrage sollte jedoch in einer Form "versteckt" abgefragt werden. Meine Idee war die Parameter vom VbScript an das Delphi-Programm und zurück zu übergeben.

          z.B.
          "VBScript"
          Set wshshell = createobject("WScript.shell")
          msgbox(wshshell.run("C:\SourceCode\Delphi\pwd_enbw \pwd_enbw.exe Parameter1 Parameter1",,true))

          hier bekomme ich über die Shell die Parameter in mein Delphi-Programm

          "Delphi"
          for i:= 1 to ParamCount do begin
          lblPath.Caption := (lblPath.Caption + ParamStr(i)) + ' '
          end;

          Frage :

          Gibt es keinen Weg einen String z.B. Passwort über die Shell, oder direkt in das VBScript zu übergeben ?

          Viele Grüße

          Pete

          Comment

          Working...
          X