vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

Fortgeschrittene Programmierung
Start einer externen VB6 Anwendung aus einer VB6 Anwendung 
Autor: Woellmi
Datum: 26.05.16 09:20

Hallo zusammen,

das Ziel ist es neben einigen anderen Aufgaben (u.a. INI lesen, Dateien kopieren)
im Ergebnis eine als Aufrufparameter übergebene externe VB6 Anwendung
mit einem VB6 Programm zu starten.

Hierzu gehe ich wie folgt vor:
VB6 Projekt: besteht nur aus einer Sub Main() (also keine Forms)
- Ich werte die Aufrufparameter aus (vollständiger Pfad incl. Name der zu startenden Datei)
- Ich analysiere die Umgebung (Infos aus INI's usw.)
- Ich prüfe, ob die externe Anwendung schon gestartet ist
(Wenn ja, Fehlermeldung und Abbruch, sonst weiter)
- Sollte alles OK sein werden ein paar Dateien kopiert und dann wird über eine
Funktion, die aus der "Main" aufgerufen wird die externe Anwendung gestartet.
- Hierzu verwendete ich abwechselnd (natürlich immer nur eine Variante) folgenden Code in der aufrufenden Funktion:

Kern der Funktion "EXEStartOK"
nResult = Shell(sFile, vbNormalFocus)
nResult = ShellExecute(hWnd, "", sFile, "", sWorkDir, SW_SHOWNORMAL)
- Resultiert ein Fehler, wird eine Meldung angezeigt.
- Resultiert kein Fehler, wird die "Aufrufende VB6 Anwendung" ohne weitere
Meldung beendet. Man merkt ja, dass die aufgerufene Anwendung gestartet wurde.

Und nun mein Problem:
Alles funktioniert reibungslos, die Aufgaben werden erledigt und die externe Anwendung
startet. Und trotzdem resultiert bei meinem aufrufenden Programm eine Fehlermeldung.
Und zur Krönung, dieser Effekt tritt nur beim Start der EXE und nicht in der IDE auf.

Anwendungsgerüst
Sub Main()
 
   Dim bExtAppIsRunning as Boolean
   Dim bStartOK as Boolean
 
   bStartOK = False
 
   bExtAppIsRunning =IsEXERunning(sFile)
 
   If Not bExtAppIsRunning Then
      bStartOK = EXEStartOK(sFile)
   End If
 
   If Not bStartOK Then
      If bExtAppIsRunning Then
         MsgBox "Externe Anwendung ist bereits gestartet!" 
      Else
         MsgBox "Beim Aufruf der externen Anwendung trat ein Fehler auf!"
      End If
   End If
 
   End
 
End Sub
Obwohl die externe Anwendung vorher nicht gestartet war und
im Ergebnis des Aufrufes erfolgreich gestartet wurde, resultiert
beim Ausführen der "EXE" (nicht in der IDE) die Fehlermeldung

==> "Externe Anwendung ist bereits gestartet!"

Wo ist mein Fehler?
Woran habe ich nicht gedacht?

Als evtl. wichtige Hintergrundinfo:
Das aufgerufene Programm führt natürlich einige Operationen aus und
meldet dann ein Ergebnis in Form einer MsgBox. Dies kann dann kurz
bestätigt werden und anschließend erscheint ein Login Dialog.
Es ist übrigens egal, ob ich den Code unter Win10 x64 oder unter WinXP
ausführe.


Hmm, trotzdem sieht es jedoch so aus, als ob "warum auch immer"
meine Abfrage auf "IsEXEXRunning" aus der "Main" doppelt ausgeführt wird.

Jeder Hinweis ist willkommmen

Danke schon jetzt

Tschaui
Woellmi

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Start einer externen VB6 Anwendung aus einer VB6 Anwendung2.186Woellmi26.05.16 09:20
Re: Start einer externen VB6 Anwendung aus einer VB6 Anwendu...1.131Blackbox26.05.16 11:35
Re: Start einer externen VB6 Anwendung aus einer VB6 Anwendu...1.244Woellmi26.05.16 23:33
Re: Start einer externen VB6 Anwendung aus einer VB6 Anwendu...1.098Woellmi27.05.16 00:24
Re: Start einer externen VB6 Anwendung aus einer VB6 Anwendu...1.216effeff27.05.16 11:52
Re: Start einer externen VB6 Anwendung aus einer VB6 Anwendu...1.083Woellmi28.05.16 00:10
Re: Start einer externen VB6 Anwendung aus einer VB6 Anwendu...1.121Blackbox27.05.16 14:04
Re: Start einer externen VB6 Anwendung aus einer VB6 Anwendu...1.060Woellmi28.05.16 00:27
Re: Start einer externen VB6 Anwendung aus einer VB6 Anwendu...1.105Woellmi31.05.16 00:15
Re: Start einer externen VB6 Anwendung aus einer VB6 Anwendu...1.181Blackbox01.06.16 22:22
Re: Start einer externen VB6 Anwendung aus einer VB6 Anwendu...1.157Woellmi02.06.16 22:07
Warten ...1.272Blackbox05.06.16 12:10
Re: Warten ... (Teil 1)1.100Woellmi06.06.16 17:47
Re: Warten ... (Teil 2)1.072Woellmi06.06.16 17:54
Re: Warten ... (Teil 3)1.186Woellmi06.06.16 17:59

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-2024 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