Skip to main content
Skip table of contents

TBeProcess

TBeProcess

Die Klasse TBeProcess dient dazu einen neuen Prozess innerhalb von business express zu starten.
Die Anmelde-Daten (Ab 6.5 /LOGINKEY) werden direkt aus der offenen b e-Instanz übergeben.

Eigenschaften

Eigenschaft Beschreibung

Active:L

Aktiviert den Prozess mit True und Deaktiviert ihn mit False

CommandLine:C

Die auszuführende Befehlszeile. Hier kann im Grunde jeder Befehl ausgeführt werden, der auch in der Windows-Kommandozeile ausführbar ist.

Running:L

Gibt an, ob der Prozess läuft

FreeOnTerminate:L

Gibt an, ob das Objekt zerstört werden soll, sobald der Prozess beendet ist.

CurrentDirectory:C

Verzeichnis, in dem der Prozess gestartet wird

AutomaticallyGenerateLoginkey:L

Automatische Erzeugung des Login-Key auf Basis der ausführenden be-Instanz.
(Default = True)
Wird diese Einstellung auf False gesetzt, wird beim Starten einer anderen be-Instanz der Login-Dialog angezeigt.

Verfügbare Ereignisse

EreignisBeschreibung

OnProcessFinished

Dieses Event wird ausgelöst, sobald der Prozess beendet wurde.

Beispiel

CODE
//##############################################################################
//##############################################################################
// Hinweis: Mit diesem Programm kann ein beliebiges be-Modul aus der
//          Warenwirtschaft heraus geöffnet werden
//##############################################################################
//##############################################################################

| m_oBeProcess, m_cCurrentDir, m_cParams, m_cExe, m_cBeModule |

//##############################################################################
//##############################################################################
// Konstanten
//##############################################################################
//##############################################################################
m_cCurrentDir := '\\srv\businessexpress\winbe\be32\', // Pfad des be32-Ordners
m_cExe        := 'be_32.exe',                         // be_32-Exe
m_cParams     := ' /P:..',                            // zusätzliche Startparameter
m_cBeModule   := 'PRMAN',                             // Startparameter für das zu startende Modul

//##############################################################################
//##############################################################################
// Funktionen
//##############################################################################
//##############################################################################

//******************************************************************************
// Die Funktion erweitert den String der die zusätzlichen Parameter enthält um
// einen weiterern Parameter.
//******************************************************************************
function AddParam(cParam, cValue)
   m_cParams += ' /' + cParam + IIf(Empty(cValue), '', ':' + cValue),
end,

//##############################################################################
//##############################################################################
// Events
//##############################################################################
//##############################################################################

//******************************************************************************
// Dieses Event wird ausgelöst, sobald der externe Prozess beendet wurde
//******************************************************************************
function DoOnProcessFinished()
   MessageDlg('Prozess beendet', mtInformation, mbOk),
   DestroyObject(m_oBeProcess), // muss als letzte Aktion in dem Event erfolgen
end,

//##############################################################################
//##############################################################################
// Hauptprogramm
//##############################################################################
//##############################################################################
SetPersistent(True), // muss gesetzt werden, da sonst kein Zugriff auf Event-Funktion möglich

m_oBeProcess := CreateObject('TBeProcess', '', Application),
startseq
   // Das Event zuweisen, das bei Beendung des Prozesses ausgeführt wird
   AssignEvent(m_oBeProcess, 'OnProcessFinished', 'DoOnProcessFinished'),

   // Hier können nun beliebig viele Parameter angefügt werden
   AddParam(m_cBeModule, ''),

   // Alle nötigen Eigenschaften setzten und den Prozess starten
   m_oBeProcess.CurrentDirectory              := m_cCurrentDir,
   m_oBeProcess.CommandLine                   := m_cCurrentDir + m_cExe + m_cParams,
   m_oBeProcess.FreeOnTerminate               := True,
   m_oBeProcess.AutomaticallyGenerateLoginkey := True,
   m_oBeProcess.Active                        := True,

   if m_oBeProcess.Running then
      MessageDlg('Der Prozess wurde erfolgreich gestartet.', mtInformation, mbOk),
   endif,
onerror
   MessageDlg('Fehler beim Starten des externen Prozesses.' + CrLf + GetErrorText(), mtError, mbOk),
stopseq,
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.