Visual Basic
Von: enDyExcellent, 30.9.2004 10:40 Uhr
Tachjen,

ich habe ein kleines Programm geschrieben und würde diesem gerne beim Beenden einen Rückgabewert (INT) mitgeben, damit dieser als Parameter von einem anderen Programm weiterverarbeitet werden kann.

Geht das irgendwie?

m.f.G. N.



  1. Antwort von Okinaptz Uglwf (abgemeldet) 0
    Re: VB.exe mit Rückgabewert beenden
    Hollahi. ich habe ein kleines Programm geschrieben und würde diesem
    gerne beim Beenden einen Rückgabewert (INT) mitgeben, damit
    dieser als Parameter von einem anderen Programm
    weiterverarbeitet werden kann.

    Geht das irgendwie?
    Ja.

    Irgendwie Version 1 : Du ermittelst den Wert und schreibst ihn in einer Datei weg, die Du dann mit dem zweiten Programm wieder ausliesest.

    Irgendwie Version 2 : Du gestaltest Dein "kleines Programm" als Funktion, die aus dem anderen Programm aufgerufen wird. Die übergeben sich dann ganz von selbst.

    Nähere Angaben könnte ich machen, wenn Du mit einer genaueren Beschreibung rüberzuwachsen die Freundlichkeit hättest.

    Gruß kw
    4 Kommentare
    • Re^2: VB.exe mit Rückgabewert beenden
      Tach kw ;) und Danke fuer Antwort.

      Ok. Let's see. Ich habe ein Programm welches eine Klasse besitzt und eine Public Sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) in welcher eine Distanz mithilfe von Microsoft mappoint berechnet wird und beim Beenden des Programms also des Berechnens soll die Distanz zurueckgegeben werden. Irgendwie Version 1 war mir auch bekannt ist aber nicht in meinem Sinne ;)

      Es soll ein Wert zurueckgegeben werden beim Beenden/Abbrechen oder mit Beenden des Programms (wie bei Delphi mit der Fkt Halt())

      Gibt es sowas auch fuer VB? [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
    • von Okinaptz Uglwf (abgemeldet) 0
      Re^3: VB.exe mit Rückgabewert beenden
      Tach kw ;) und Danke fuer Antwort.
      Gern geschehen, Rechnung folgt ;-) Ok. Let's see. Ich habe ein Programm welches eine Klasse
      besitzt und eine Public Sub Form_Load(ByVal sender As
      System.Object, ByVal e As System.EventArgs) in welcher eine
      Distanz mithilfe von Microsoft mappoint berechnet wird und
      beim Beenden des Programms also des Berechnens soll die
      Distanz zurueckgegeben werden. Irgendwie Version 1 war mir
      auch bekannt ist aber nicht in meinem Sinne ;)

      Es soll ein Wert zurueckgegeben werden beim Beenden/Abbrechen
      oder mit Beenden des Programms (wie bei Delphi mit der Fkt
      Halt())
      Und wenn Du die Form_Load nur als Verkleidung für eine Funktion benutzest, die Deinen gewünschten Wert liefert, und vor Beenden der Load- Prozedur den Wert ins Form zurückbeamst? Sorry, aber der Zusammenhang zwischen dem Load- Ereignis und dem kompletten Beenden der Applikation ist mir immer noch nebulös ...

      Gruß kw
    • Re^4: VB.exe mit Rückgabewert beenden
      Public Class Form1
      Inherits System.Windows.Forms.Form

      Public Sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

      Dim objApp As New MapPoint.Application
      Dim objMap As MapPoint.Map
      Dim objRoute As MapPoint.Route

      Dim endpunkt As String
      Dim startpunkt As String

      'Anwendung einrichten
      objMap = objApp.ActiveMap
      objRoute = objMap.ActiveRoute
      objApp.ItineraryVisible = True
      objApp.UserControl = True


      Dim Pos As Long

      If Microsoft.VisualBasic.Command() = "" Then
      MsgBox("Sie haben keine Parameter mitgegeben")
      Else
      Pos = InStr(Microsoft.VisualBasic.Command(), "/")
      endpunkt = Mid(Microsoft.VisualBasic.Command(), Pos + 1)
      startpunkt = Microsoft.VisualBasic.Command().Substring(0, Pos - 1)

      MsgBox("Endpunkt:" + endpunkt)
      MsgBox("Startpunkt:" + startpunkt)

      'Route berechnen
      objMap.ActiveRoute.Waypoints.Add(objMap.FindResults(startpunkt).Item(1))
      objMap.ActiveRoute.Waypoints.Add(objMap.FindResults(endpunkt).Item(1))
      objMap.ActiveRoute.Calculate()


      Microsoft.VisualBasic.MsgBox(startpunkt + " - " + endpunkt + " :" + CStr(objRoute.Distance) + "km")

      objRoute.Clear()
      objApp.ActiveMap.Saved = True

      objApp.Quit()

      objApp = Nothing
      objMap = Nothing
      objRoute = Nothing


      End If


      Close()

      End Sub



      End Class






      Das ist also meine Klasse. Diese wird zu einer .exe kompiliert und soll nun das Ergebnis=die Distanz zurueckgeben. So, dass ich mit dem ergebnis weiterrechnen kann. Das Ergebnis soll ein INT Wert sein.
    • Re^5: VB.exe mit Rückgabewert beenden
      Hallo, Das ist also meine Klasse. Diese wird zu einer .exe kompiliert
      und soll nun das Ergebnis=die Distanz zurueckgeben. So, dass
      ich mit dem ergebnis weiterrechnen kann. Das Ergebnis soll ein
      INT Wert sein.
      Das Ergebnis kann nur ein int sein.
        objApp.Quit([intRückgabewert])
      


      Gruss Thomas