vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Windows API
Re: Datenübergabe an andere Anwendung 
Autor: BasTler
Datum: 21.04.05 14:31

Hallo an Alle,

komme mit meinem Problem nicht weiter, deshalb nochmal ein Hilferuf von mir.
Die Java-Anwendung kann ich nicht ändern.
Hier aber der Source, für ein einfaches Formular, mit Command-Button:
Option Explicit
Private Sub Command1_Click()
  Dim I As Long
  Dim ret As Long
  Dim hErrRead As Long
  Dim hErrWrite As Long
  Dim hReadPipe1 As Long   ' STDOUT
  Dim hWritePipe1 As Long  ' STDOUT
  Dim hReadPipe2 As Long   ' STDERR
  Dim hWritePipe2 As Long  ' STDERR
  Dim hReadPipe3 As Long   ' STDIN
  Dim hWritePipe3 As Long  ' STDIN
  Dim bytewritten As Long
  Dim cmdline As String
  Dim StuffToWrite As String
  Dim start As STARTUPINFO
  Dim proc As PROCESS_INFORMATION
 
  start.cb = Len(start)
 
  ' A pipe of redirection of STDOUT
  ret = CreatePipe(hReadPipe1, hWritePipe1, 0&, 0&)
  If ret = 0 Then MsgBox "Konnte Pipe STDOUT nicht öffnen: " & Err.LastDllError
 
  ' A pipe of redirection of STDERR
  ret = CreatePipe(hReadPipe2, hWritePipe2, 0&, 0&)
  If ret = 0 Then MsgBox "Konnte Pipe STDERR nicht öffnen: " & Err.LastDllError
 
  ' A pipe of redirection of STDIN
  ret = CreatePipe(hReadPipe3, hWritePipe3, 0&, 0&)
  If ret = 0 Then MsgBox "Konnte Pipe STDIN nicht öffnen: " & Err.LastDllError
 
  start.dwFlags = STARTF_USESTDHANDLES Or STARTF_USESHOWWINDOW
  'start.dwFlags = STARTF_USESTDHANDLES
  start.hStdOutput = hWritePipe1
  start.hStdError = hWritePipe2
  start.hStdInput = hReadPipe3
 
  cmdline$ = "java -cp c:\programme\jet\bin\bsh-1.3.0.jar bsh.Interpreter"
  'cmdline$ = "D:\VC\VC.COM"
 
  ret = CreateProcess(0&, cmdline$, 0&, 0&, True, &H20, 0&, 0&, start, proc)
  If ret = 0 Then
     MsgBox "Anwendung kann nicht gestartet werden: " & Err.LastDllError, _
       vbCritical, "BeanShell 1.3"
  End If
 
  ' Folgende Übergaben müssen nacheinander in einer Schleife abgearbeitet werden
  '  und sollten in Java ein Fenster öffnen
  For I = 1 To 4
    DoEvents
    Select Case I
    Case 1
      StuffToWrite = "JFrame frame = new JFrame();" & Chr$(13)
    Case 2
      StuffToWrite = "frame.setSize(200,200);" & Chr$(13)
    Case 3
      StuffToWrite = "frame.show();" & Chr$(13)
    Case 4
      StuffToWrite = "frame.toFront();" & Chr$(13)
    End Select
    ' Send it.
    ret = WriteFile(hWritePipe3, StuffToWrite, Len(StuffToWrite), bytewritten, _
      CLng(0))
    If ret = 0 Then
      MsgBox "Anwendung wurde nicht beschrieben: " & Err.LastDllError
    Else
      MsgBox "Anzahl übergebene Zeichen: " & bytewritten
    End If
  Next I
 
  ret = TerminateProcess(proc.hProcess, 0&)
  If ret = 0 Then
    MsgBox "Process wurde nicht ordnungsgemäß beendet: " & Err.LastDllError
  Else
    DoEvents
  End If
 
  CloseHandle hReadPipe1
  CloseHandle hWritePipe1
  CloseHandle hReadPipe3
  CloseHandle hWritePipe3
 
End Sub
BasTler
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Datenübergabe an andere Anwendung1.387BasTler18.03.05 13:59
Re: Datenübergabe an andere Anwendung923ModeratorMartoeng18.03.05 15:05
Re: Datenübergabe an andere Anwendung895BasTler21.04.05 14:31
Re: Datenübergabe an andere Anwendung1.007BasTler21.04.05 14:32

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel