GeomarketingForum.com
September 05, 2010, 10:55:35 *
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge
News: Verfolge alle RegioGraph Meldungen auf Twitter
www.twitter.com/regiographpress
 
   Übersicht   Hilfe Suche Kalender Login Registrieren  
Seiten: [1]
  Drucken  
Autor Thema: quit() beendet zwar den task .. aber der process bleibt offen?  (Gelesen 2094 mal)
egi
Newbie
*
Beiträge: 22


Profil anzeigen
« am: Januar 31, 2008, 01:41:10 »

mach ich irgendwas falsch??
Gespeichert
paff
Administrator
Hero Member
*****
Beiträge: 820


439627146
Profil anzeigen WWW
« Antwort #1 am: Januar 31, 2008, 06:56:51 »

mach ich irgendwas falsch??

Was machst du?

Ein bißchen ausführlicher muß es schon sein

Gruß
Gespeichert

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


Profil anzeigen
« Antwort #2 am: Februar 01, 2008, 09:41:49 »

nun .. district uebergibt ja an mein plugin die referenz auf die offene RegioApplication instanz.
da mein plugin mehrere arbeitsschritte durchlaufen und DISTRICT wieder beenden soll, hab ich am ende halt folgendes eingebaut: _Application.Quit();
der task wird auch erfolgreich beendet, allerdings bleibt DISTRICT in den prozessen (siehe windows taskmanager) weiterhin geoffenet und blockiert den zugriff auf daten und speicher.
Gespeichert
paff
Administrator
Hero Member
*****
Beiträge: 820


439627146
Profil anzeigen WWW
« Antwort #3 am: Februar 01, 2008, 08:42:01 »

Du öffnest DISTRICT, dein Plugin wird geladen, ausgeführt und soll dann DISTRICT schließen ?


Du müsstest mit deinen Programm z.B. aus dem Visual Stusio , DISTRICT starten , alles ausführen und dann kannst du DISTRICT schließen.


Gespeichert

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


Profil anzeigen
« Antwort #4 am: Februar 04, 2008, 05:46:04 »

vielen dank fuer den tip .. es funktioniert nun das programm sauber zu starten .. und auch mehr oder weniger sauber zu beenden Wink
das ganze sieht ca so aus:

Code:
//externesprog.main()
Process currentApplication;
currentApplication = Process.Start(pfad + "district.exe");

//HIER KOMMT DAS WAS GEMACHT WERDEN SOLL REIN
           
currentApplication.CloseMainWindow();
currentApplication.Close();

nun hab ich mir ueberlegt, dass es sinnvoll waer alle meine funktionen in dieses externe programm auszulagern.
bisher hab ich die naemlich in dem plugin gehabt, und sie wurden gleich beim programmstart ausgefuehrt.
das schoene am plugin war nun dass mir die referenz auf das regioapplication-objekt uebergeben wird.
das hab ich jetzt allerdings nicht mehr.
wie komme ich da nun ran?
Gespeichert
egi
Newbie
*
Beiträge: 22


Profil anzeigen
« Antwort #5 am: Februar 15, 2008, 01:40:29 »

keiner eine idee?

wie bereits geschrieben will ich von einem externen programm aus district starten und die instanz der dazugehoerigen RegioApplication haben. plugins bekommen die ja immer mit, meine programm soll die auch bekommen. ist das moeglich?
Gespeichert
AlexP
Newbie
*
Beiträge: 30


Profil anzeigen WWW
« Antwort #6 am: Februar 21, 2008, 02:59:17 »

Moin!

Referenziere in Deinem externen Programm die GfK.GeoMarketing.Api.dll.

Dann kannst Du einfach eine neue RegioApplication instantiieren ( RegioApplication app = new RegioApplication() )

Ab Dann arbeitest Du an einem RegioGraph ohne GuiFenster.

Cheers,
Alex
Gespeichert

--
non serviam!
egi
Newbie
*
Beiträge: 22


Profil anzeigen
« Antwort #7 am: März 03, 2008, 05:07:24 »

danke, es funktioniert. hatte es davor schon versucht und mich gewundert dass nichts passiert. hab irgendwie eine art feedback erhoft Wink
jedenfalls gehts so... und so klappt es naemlich auch mit dem _Application.Quit();
hatte zwar meine probleme anschliessend die gui zu initialisieren, aber das war eh nur zu testzwecken und nicht wirklich von belang.
Gespeichert
egi
Newbie
*
Beiträge: 22


Profil anzeigen
« Antwort #8 am: März 05, 2008, 01:51:49 »

wieso schmiert das programm eigentl. bei folgendem code ab:

Code:
RegioApplication cApplication=new RegioApplication();

Project cProject=cApplication.NewProject(@"..\projects\test.gfk");
               
Layout layout1=cProject.NewLayout("layout1",null);
                 
cApplication.Quit();

als fehler meldung kommt "cannot access a disposed object"
"objekt name: 'gfk.geomarketing.backend.projectfolder' "
Gespeichert
AlexP
Newbie
*
Beiträge: 30


Profil anzeigen WWW
« Antwort #9 am: März 07, 2008, 11:34:52 »

Moin!

Das erstellte Layout hängt noch in der Luft.
Entweder du fügst ein layout1.Save() oder ein p.DeleteResource(layout1) ein.

Cheers,
Alex
Gespeichert

--
non serviam!
egi
Newbie
*
Beiträge: 22


Profil anzeigen
« Antwort #10 am: März 07, 2008, 01:53:46 »

aaah ok thx
Gespeichert
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