GeomarketingForum.com
Juli 31, 2010, 12:25:52 *
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge
News: RegioGraph 2009: Europaweite Analysen und Planungen
 
   Übersicht   Hilfe Suche Kalender Login Registrieren  
Seiten: [1]
  Drucken  
Autor Thema: Fehler beim Beenden von RG mit VBA  (Gelesen 1080 mal)
SiRo
Newbie
*
Beiträge: 39


174263400
Profil anzeigen
« am: Juli 07, 2009, 01:15:47 »

Hallo,
Ich hab ne Funktion die überprüft ob RG auf dem System schon ausgeführt wird.
wenn ja wird die zweite EXE beenden allerdings bekomme ich dabei eine fehlermeldung (Siehe Anhang)

Zitat
Public Sub PruefExec()
Dim objWMIService As Object, colItems As Object, strProcesses As String, strComputer As String, anz As Integer, objItem As Object
 
strComputer = "."
anz = 0
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process", , 48)
strProcesses = ""
For Each objItem In colItems
    If strProcesses <> "" Then
        'strProcesses = strProcesses & " + " & objItem.Name
    Else
        If objItem.Name = "regio8.exe" Then
        anz = anz + 1
        'strProcesses = objItem.Name
        End If
    End If
Next
If anz = 2 Then
    'MsgBox "Muss beendet werden"
    beenden
End If
End Sub
=====================================
Public Sub beenden()
    rgApplication.Quit
End Sub
Gespeichert

Nobody is perfect but Nobody is perfect
paff
Administrator
Hero Member
*****
Beiträge: 809


439627146
Profil anzeigen WWW
« Antwort #1 am: Juli 08, 2009, 04:42:14 »

Willst  du die RG Anwendung in welcher dein VBA Code läuft beenden?
DAt geht nicht  Wink
Gespeichert

Follow RegioGraph on Twitter
http://twitter.com/regiograph
SiRo
Newbie
*
Beiträge: 39


174263400
Profil anzeigen
« Antwort #2 am: Juli 09, 2009, 06:56:51 »

Schade...  Cry
dann werd ich das wieder mal mit nem trick lösen müssen (den task einfach mal abschiessen ^^ mal sehen was passiert)

THX
Gespeichert

Nobody is perfect but Nobody is perfect
paff
Administrator
Hero Member
*****
Beiträge: 809


439627146
Profil anzeigen WWW
« Antwort #3 am: Juli 09, 2009, 08:27:33 »

Das würde ich nicht machen.
Das tut einer offenen Projektdatei nicht gut

Und bei sauberer Programmierung ist "abschießen" eigentlich keine Option.
Gespeichert

Follow RegioGraph on Twitter
http://twitter.com/regiograph
SiRo
Newbie
*
Beiträge: 39


174263400
Profil anzeigen
« Antwort #4 am: Juli 10, 2009, 10:50:54 »

Das bei einer sauberen programmierung abschiesen keine Option ist, ist serlbstverständlich.  Grin
Nur wenn ich vom RG aus keine andere möglichkeit habe das Programm zu beenden bleibt mir nichts anderes übrig.

Wobei da kommt mir die Frage auf wofür haben RG Leute die Funktion "rgApplication.quit" überhaupt aufgenommen bzw. warum lassen sie diese funktion zu?! wenn es doch nicht richtig funktioniert  Huh Huh

um dem Projekt nicht zu schaden schiese ich den Prozess erst ab nach demm ich alles geschlossen habe (Projekt, Layer, und den Layout)   Tongue
Gespeichert

Nobody is perfect but Nobody is perfect
paff
Administrator
Hero Member
*****
Beiträge: 809


439627146
Profil anzeigen WWW
« Antwort #5 am: Juli 10, 2009, 10:56:43 »

Dir Funktion rgApplication.quit soll nur benutzt werden , wenn man das RG von einer anderen Anwendung aus gestartet hat.

Man kann RG aus Excel oder aus einer Batch starten.
Dann kann man es auch wieder beenden

In VBA klappt das net weil ich ja aus RG das VBA aufrufe
Aus diesem VBA wiederrum die Anwendung zu schließen mit welcher ich das VBA aufgerufen habe . Das geht halt nicht
Ist bei Word Excel usw. genauso

Deswegen gibts ja auch die 11er RG version. Mit .NET Programmierung ist dann alles anders. Hier läuft die Programmierumgebung auch nicht im Context des RG
Gespeichert

Follow RegioGraph on Twitter
http://twitter.com/regiograph
SiRo
Newbie
*
Beiträge: 39


174263400
Profil anzeigen
« Antwort #6 am: Juli 10, 2009, 01:08:14 »

Ok nach diesem askept wirds etwas verständlicher.
Aber Jetzt RG 11 deswegen zu kaufen ... zudem müsste ich dann knapp 20Seite quelltext ändern und anpassen ^^
Könntest du vieleicht so eine BATCH datei posten die RG aufrufe und wieder beendet?! 
Oder ein bsp wie ich die quit option benutzen soll.

den ich kannn zwar RG über die konsole starten, allerdings kann ich dort nur einen parameter übergeben (und zwar das Projekt welches gealden werden soll) zumindest hab ich nur einen gesehen.
« Letzte Änderung: Juli 10, 2009, 01:13:31 von SiRo » Gespeichert

Nobody is perfect but Nobody is perfect
Seiten: [1]
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2007, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS