| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Getobject und mehrere Instanzen (2266 mal gelesen)
|
RolandW Mitglied Konstrukteur
Beiträge: 74 Registriert: 01.11.2004
|
erstellt am: 28. Apr. 2006 15:10 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum. Ich möchte aus VB6 Inventor fernsteuern. Dazu erzeuge ich ein Inv-Objekt mit
Code: set tmpINV = getobject(,"Inventor.Application")
Wenn jedoch mehrere Instanzen von Inventor geöffnet sind, wie kann ich dann auf die 2e, 3e, usw. zugreifen?? Ich habe zum Bsp. das hWnd, oder die TaskID der entsprechenden Instanzen. Kann man damit etwas anfangen?? Bin für jede Hilfe dankbar. Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 04. Mai. 2006 06:47 <-- editieren / zitieren --> Unities abgeben: Nur für RolandW
Hallo Roland, ich habe keine Lösung für dich, aber warum brauchst du mehrere Instanzen von Inventor? Wer hat schon parallel mehrere Inventoren laufen? Du kannst den Prozess über hwnd bestimmt raus bekommen, aber es wird immer die Inventor.exe sein. Ich baue in meine Anwendungen schon eine Prüfung ob Inventor mehrfach läuft, denn wenn das der Fall ist, dann weißt du nie worauf deine Applikation drauf zugreift. Aber ich gebe nur eine Meldung raus, und versuche nicht auf mehrere Instanzen zu zugreifen. Wozu brauchst du so etwas? Ich bin neugierig
------------------ Grüße daywa1k3r FX64 Software Solutions Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RolandW Mitglied Konstrukteur
Beiträge: 74 Registriert: 01.11.2004
|
erstellt am: 04. Mai. 2006 13:30 <-- editieren / zitieren --> Unities abgeben:
Hallo daywa1k3r Scheinbar ist das gar nicht möglich (habe jedenfalls nach langer Suche nichts gefunden). Für Access gibt es eine Möglichkeit, wenn man den Namen der geöffneten Datei kennt, das ist aber auf mein Problem nicht übertragbar. Ich bin am programmieren eines kleinen EDM (weil mir Vault nicht gefällt). Dieses läuft als eigenständiges Prog. neben Inventor. Ich lese nun die Events von INV aus, um auf ein schliessen, öffnen, etc. eines Documents reagieren zu können (Eintrag in eine DB schreiben, etc.). Nun ist es so, dass ich persönlich auch nie 2 Instanzen laufen habe, aber möglich ist es nun mal. Also könnte nun jemand eine 2 Instanz von INV öffnen, und Manipulationen an Zeichnungen vornehmen, ohne das mein EDM darauf reagiert. Das ist schlecht! Ich hab's so gelöst, dass ich eine Meldung ausgebe, sobald eine 2 Instanz vorhanden ist. Ich könnte noch brutaler vorgehen, und die 2e Instanz einfach wieder schliessen. Das ist aber momentan nicht nötig. Mir ist klar dass ich das ganze auch als Addin programmieren könnte, aber das will ich aus verschiedenen Gründen nicht. Vielleicht in Zukunft einmal, wer weiss. Gruss Roland
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 04. Mai. 2006 15:20 <-- editieren / zitieren --> Unities abgeben: Nur für RolandW
Zitat:
Ich könnte noch brutaler vorgehen, und die 2e Instanz einfach wieder schliessen.
Ich würde nur vor dem Schließen das CDROM Laufwerk öffnen (+ 1 sec delay), und wenn der User dann unter den Tisch schaut die zweite Inventor Instanz killen Dann bekommt er es nicht mit
------------------ Grüße daywa1k3r FX64 Software Solutions Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
VBSpawn Mitglied Programmierer
Beiträge: 514 Registriert: 23.08.2005 Sorgfältige Planung ersetzt niemals pures Glück. -------------- SWX 2005/2006 SE 14-17 AIP 9-11 WinXP+ SP2 --------------
|
erstellt am: 04. Mai. 2006 15:49 <-- editieren / zitieren --> Unities abgeben: Nur für RolandW
|
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 04. Mai. 2006 16:37 <-- editieren / zitieren --> Unities abgeben: Nur für RolandW
|
VBSpawn Mitglied Programmierer
Beiträge: 514 Registriert: 23.08.2005 Sorgfältige Planung ersetzt niemals pures Glück. -------------- SWX 2005/2006 SE 14-17 AIP 9-11 WinXP+ SP2 --------------
|
erstellt am: 04. Mai. 2006 17:36 <-- editieren / zitieren --> Unities abgeben: Nur für RolandW
lol @ Paul hab ich gar nicht nötig... <fg> will nur was in deinem Forum prollen...
Denke nur das wenn man in diesem Fall den Vault umgehen will dann brauch man die exe erst garnicht starten. Ansonten ist die einzige Möglichkeit die verschiedenen Instanzen zu bekommen wenn man eben eine ActiveX.exe verwendet ... welche dann über ein Addin reagiert. Ansonten noChance selbst über die ROT würdeste nicht die Passende IV App bekommen ... >gruß< Micha
------------------ http://classicvb.org/petition/ Zitat: Interpunktion und Orthographie des Postings sind frei erfunden. Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RolandW Mitglied Konstrukteur
Beiträge: 74 Registriert: 01.11.2004
|
erstellt am: 05. Mai. 2006 07:33 <-- editieren / zitieren --> Unities abgeben:
Wow, da ging aber etwas. Die Exe wird beim Windowsstart gestartet, und bleibt im Systray. Eine weitere möglichkeit wäre, ein mini Addin in INV das mein Progi beim Start von INV startet. Das mit dem CD-Rom Fach ist eine spitzen Idee Und wenn es dem User noch ans Schienbein knallt, öffnet er so schnell keine 2e Instanz von INV mehr. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RolandW Mitglied Konstrukteur
Beiträge: 74 Registriert: 01.11.2004
|
erstellt am: 05. Mai. 2006 07:47 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von VBSpawn:Denke nur das wenn man in diesem Fall den Vault umgehen will dann brauch man die exe erst garnicht starten. [/B]
War das eine leise Kritik an meinem Vorgehen, oder ein verdeckter Geiheimtipp?? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
VBSpawn Mitglied Programmierer
Beiträge: 514 Registriert: 23.08.2005 Sorgfältige Planung ersetzt niemals pures Glück. -------------- SWX 2005/2006 SE 14-17 AIP 9-11 WinXP+ SP2 --------------
|
erstellt am: 05. Mai. 2006 08:23 <-- editieren / zitieren --> Unities abgeben: Nur für RolandW
Zitat: Original erstellt von RolandW: War das eine leise Kritik an meinem Vorgehen, oder ein verdeckter Geiheimtipp??
1.Kontrolle man braucht immer Kontrolle.... 2.Es gibt keine dummen Anwender, die Fehler machen, es gibt nur schlechte Software, die Anwenderfehler zulässt... :-) Gruß Micha ------------------ http://classicvb.org/petition/ Zitat: Interpunktion und Orthographie des Postings sind frei erfunden. Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RolandW Mitglied Konstrukteur
Beiträge: 74 Registriert: 01.11.2004
|
erstellt am: 05. Mai. 2006 09:03 <-- editieren / zitieren --> Unities abgeben:
Totale Kontrolle hast Du nie. Der User kann auch ein Addin im Inventor beeenden. Ich versuche lieber die Software so anzupasse, dass begangene Fehler behoben werden können Aber im Moment versuche ich in erster Linie mal die Funktion zu gewährleisten. Ich könnte mir später ein Addin vorstellen das aus INV mit meiner Application komuniziert. Grüssle Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rtend12 Mitglied Dipl.-Ing. (FH) Maschinenbau / Konstrukteur
Beiträge: 436 Registriert: 21.07.2004 Catia V5 (R16SP5, B18SP5) VB.Net 2003
|
erstellt am: 05. Mai. 2006 14:06 <-- editieren / zitieren --> Unities abgeben: Nur für RolandW
|
RolandW Mitglied Konstrukteur
Beiträge: 74 Registriert: 01.11.2004
|
erstellt am: 05. Mai. 2006 14:23 <-- editieren / zitieren --> Unities abgeben:
Ja, wenn er die EXE beendet hat er eine Umgebung wie vor der Installation. Das ist so gewollt. Ich versuche nicht Vault (oder ein anderes EDM) nachzubauen. Mein Konzept sieht ein wenig anders aus. Grüssle Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |