| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Was ist eine 2D-CAD-Software und was sind ihre Stärken? |
Autor
|
Thema: PSP Funktion beim Starten (1241 mal gelesen)
|
veydan Mitglied
Beiträge: 252 Registriert: 29.05.2008 AutoCAD/Mechanical 2009, Inventor 2009
|
erstellt am: 13. Mai. 2009 15:49 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ich bin auf der Suche nach einer Funktion von PSP die nach dem Starten bzw während des Start Vorgangs 1x aufgerufen wird. Ich kenne die Funktion OnLogin, diese ist aber noch etwas zu früh. Gibt es da eine andere, die am besten fast am Ende des Ladens aufgerufen wird? Sprich wenn PSP schon offen ist. mfg
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jörg2 Mitglied
Beiträge: 509 Registriert: 20.02.2007
|
erstellt am: 14. Mai. 2009 09:33 <-- editieren / zitieren --> Unities abgeben: Nur für veydan
Ich verstehe nicht ganz, was du überhaupt machen willst. Login ist doch eine LOG-Event (CMP_LOGIN). Ich vermute, du möchtest nach dem Starten von PSP eine eigene Prozedur aufrufen, richtig? Wie wäre es, wenn du dich am Login orientierst und eine Verzögerung in deine Prozedur einbaust? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
blacky1985 Mitglied Application Engineer
Beiträge: 348 Registriert: 16.04.2008 PSP 2008 SP1 PSP 2009 SP1 PSP 2010 AIP 2008 SP3 AIP 2009 SP2 AIP 2010
|
erstellt am: 14. Mai. 2009 14:02 <-- editieren / zitieren --> Unities abgeben: Nur für veydan
Die Frage wäre, warum dieses Event für dich zu früh ist um dich dort einzuklinken ? Was hast du den vor, oder was willst du den genau machen ? ------------------ Bei einem sinnvollen Posting würde man sich über entsprechende Honorierung in Form von einer kleinen Ü-Spende sehr freuen... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
veydan Mitglied
Beiträge: 252 Registriert: 29.05.2008 AutoCAD/Mechanical 2009, Inventor 2009
|
erstellt am: 14. Mai. 2009 18:47 <-- editieren / zitieren --> Unities abgeben:
Ja richtig, ich möchte meine Eigene Prozedur aufrufen die ich aber in .NET programmiert habe. Da man zu diesem Zeitpunkt anscheinend noch nicht die Möglichkeit hat .NET Funktionen aufzurufen suche ich eine Möglichkeit dies später zu tun. Warum komme ich darauf, dass .Net funktionen da noch nicht funktionieren? Naja, er geht einfach nicht in die Funktion. Und es stehen einem ausserdem noch nicht die User Environment Variablen zur Verfügung. mfg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fenrir Mitglied Wirtschaftsinformatiker
Beiträge: 4 Registriert: 12.05.2009
|
erstellt am: 15. Mai. 2009 09:47 <-- editieren / zitieren --> Unities abgeben: Nur für veydan
Hallo Veydan, Habe vor ein paar Tagen ebenfalls zu OnLogin - Funktion mithilfe einer .NEt - Funktion überschrieben. Sie wird auch aufgerufen wobei ich noch ein paar Unregelmäßigkeiten habe. Wichtig ist, dass du die DLL unter Folders --> Folder_UserAdministration deklarierst. Nur dann ist die Funktion (DLL) bereits bei dem Event "gemapped". Auf welche User Environment Variablen willst du genau zu greifen (Werte wie $CMPEXE / $PRGPATH .... sind bereits verfügbar). MFG Holger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
veydan Mitglied
Beiträge: 252 Registriert: 29.05.2008 AutoCAD/Mechanical 2009, Inventor 2009
|
erstellt am: 16. Mai. 2009 15:53 <-- editieren / zitieren --> Unities abgeben:
Hallo! Danke Fenrir, dass wirds wohl sein. Habe mir schon gedacht dass ich sie noch wo angeben muss in der Registry, und dass der aktuelle Ort für diese Funktion noch nicht ausreicht. Werde dass am Montag probieren.Aber dass dürfte dann hinhauen. Welche Unregelmäßigkeiten hast du noch?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fenrir Mitglied Wirtschaftsinformatiker
Beiträge: 4 Registriert: 12.05.2009
|
erstellt am: 18. Mai. 2009 14:46 <-- editieren / zitieren --> Unities abgeben: Nur für veydan
Die hängen eher mit meinem Code zusammen. Benutze die OnLogin als Client - Updater für alle zusätzlichen DLL's. Dabei ist das Problem dass die anderen DLL bereits (irgendwie) geladen sind. Was geht ist umbennen der zu aktualisierenden DLL's anschließend die neuen kopieren und zuletzt PSP neu starten damit die neuen verfügbar sind. MFG Holger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
veydan Mitglied
Beiträge: 252 Registriert: 29.05.2008 AutoCAD/Mechanical 2009, Inventor 2009
|
erstellt am: 19. Mai. 2009 09:08 <-- editieren / zitieren --> Unities abgeben:
Dann sind wir gleichgesinnte ;-) Ich hatte das selbe Problem. meine Lösung: Ich starte ein Batch file, dass überprüft, welche Dateien sind Lokal neuer als die im Client/Hotfixes/bin Ordner am Server. Sind welche am Server neuer, kopiert er sie runter. Gibt es einen Fehler beim Kopieren, sprich eine .NET dll die anderen Funktionieren komischerweise (die in vb6) wird ein Dialog mit Info angezeigt, wo der User auswählen kann ob er jetzt aktualisieren will oder nicht. aktualisiert er, wird der Prozess Compass.exe beendet, der Batchfile zum runterkopieren wieder ausgeführt, und der User kann neu Starten. Leider ist das Starten von PSP automatisch sehr sehr schwierig, denn hat er in seiner Verknüpfung Parameter Eingetragen werden diese nicht mitgenommen. Daher der manuelle Neustart nach dem aktualisieren. Eine bessere Möglichkeit ist mir noch nicht eingefallen. Nur komisch, dass er vb6 Dll's runterkopieren kann. mfg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fenrir Mitglied Wirtschaftsinformatiker
Beiträge: 4 Registriert: 12.05.2009
|
erstellt am: 26. Mai. 2009 16:37 <-- editieren / zitieren --> Unities abgeben: Nur für veydan
Starte doch einfach die Verknüpfung sprich die lnk - Datei. Dann sollten auch alle Parameter mitgenommen werden. Analog kannste auch zuerst deine DLL starten, welche überprüft ob Dateien aktualisiert werden müssen. Ist dies der Fall starteste eine weitere z.b. .exe, der du die Parameter der Verknüpfung mit gibst (in der Regel sind es ja nur autologin, prgpath, userid und ansonsten evtl bekannte eigendefinierte Varianlen). Die exe kann dann den aktuellen Prozess beenden, die Daten kopieren und einen neuen Prozess mit den Werten starten. mfg Rechtschreibfehler dürfen des Weiteren behalten werden
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
veydan Mitglied
Beiträge: 252 Registriert: 29.05.2008 AutoCAD/Mechanical 2009, Inventor 2009
|
erstellt am: 28. Mai. 2009 08:22 <-- editieren / zitieren --> Unities abgeben:
Aber wie findet man heruas wo die lnk Datei liegt? Muss ja nicht zwingend auf dem Desktop sein?? und den vordefinierten Namen haben. Aber wäre es möglich, die für mich relevanten Variablen beim Starten meiner aktualisier Funktion mitzugeben, dann die Standard Exe zu starten und der wiederrum die Parameter so mitzugeben? -PRGPATH="..." -DUSERID=".."? Könnte dass funktionieren? mfg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Konstrukteur (m/w/d) Sondermaschinenbau | ibb, der Engineering Spezialist. Wir entwickeln und konstruieren Produkte, Anlagen, Betriebsmittel und Werkzeuge. Wir optimieren mit FEM Analysen und Simulationen. Wir unterstützen Prozesse von der Arbeitsvorbereitung, Fertigung bis hin zum Qualitätsmanagement. CAD Aus- und Weiterbildungen als zertifizierter Bildungsträger runden unser Portfolio ab. Wir möchten unser Team erweitern und entwickeln.... | Anzeige ansehen | Konstruktion, Visualisierung |
|
blacky1985 Mitglied Application Engineer
Beiträge: 348 Registriert: 16.04.2008 PSP 2008 SP1 PSP 2009 SP1 PSP 2010 AIP 2008 SP3 AIP 2009 SP2 AIP 2010
|
erstellt am: 28. Mai. 2009 16:53 <-- editieren / zitieren --> Unities abgeben: Nur für veydan
Klar kann das Funktionieren Da list du einfach die entsprechenden Paramter aus, da du dich ja beim funktionsaufruf für die Restart.exe sozusagen noch im PSP befindest. Dann startest du die exe aus PSP heraus un gibst dieser die Paramater entsprechend als Übergabeparameter mit. Anschließend beendest du den PSP-client aus deiner Restart.exe heraus, und startest einen neuen Prozess bei dem du als Startparamter dann die Übergabeparameter verwendest entsprechend. ------------------ Bei einem sinnvollen Posting würde man sich über entsprechende Honorierung in Form von einer kleinen Ü-Spende sehr freuen... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |