| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Prozedur beim schliessen von AutoCAD (1225 mal gelesen)
|
facebraker Mitglied IT
 
 Beiträge: 158 Registriert: 03.05.2009 Windows 7 Professional 64Bit AutoCAD 2007/2008/2009 ProSteel 3D 17.2/18.0/V8i ProStructures V8i_S3 Visual Studio 2010 Ultimate
|
erstellt am: 19. Mrz. 2009 09:25 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe ein kleines Makro geschrieben, welches bei jeden Start von AutoCAd das aktuelle Profil des Users exportiert/sichert. Das ich, wenn mal eine Festplatte aussteigt, ich eine aktuelle Sicherung der des Profils habe. Natürlich ist es kontraproduktiv das beim Start auszuführen, ich bin nun auf der Suche nach der Prozedur, die beim schließen den AutoCADs gestartet wird ACADShutdown() oder ACADClose()ist es nicht Kann mir jemand helfen? Gruss fb.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 19. Mrz. 2009 09:37 <-- editieren / zitieren -->
Hi, sollte so möglich sein (das Init musst Du halt in Deinem Code aufrufen, der automatisch mitgeladen wird)
Code: Private WithEvents pAcadApp As AcadApplication Public Sub init() Set pAcadApp = ThisDrawing.Application End Sub Private Sub pAcadApp_BeginQuit(Cancel As Boolean) 'da landest Du, wenn AutoCAD sich vertschüssen will End Sub
- alfred - ------------------ www.hollaus.at |
facebraker Mitglied IT
 
 Beiträge: 158 Registriert: 03.05.2009 Windows 7 Professional 64Bit AutoCAD 2007/2008/2009 ProSteel 3D 17.2/18.0/V8i ProStructures V8i_S3 Visual Studio 2010 Ultimate
|
erstellt am: 19. Mrz. 2009 09:58 <-- editieren / zitieren --> Unities abgeben:         
Hallo Alfred, ich habe es grad mal probiert, der Compiler spuckt bei Private WithEvents pAcadApp As AcadApplication rum? Ungültiges Attribut in Sub oder Function kommt als Fehler :-/ Ich bin hier im VBA von ACAD, kann es sein, dass das nur bei VB funktioniert? Gruss fb Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
facebraker Mitglied IT
 
 Beiträge: 158 Registriert: 03.05.2009 Windows 7 Professional 64Bit AutoCAD 2007/2008/2009 ProSteel 3D 17.2/18.0/V8i ProStructures V8i_S3 Visual Studio 2010 Ultimate
|
erstellt am: 19. Mrz. 2009 10:03 <-- editieren / zitieren --> Unities abgeben:         
Hallo Alfred, MEA CULPA, meine Schuld, habe es an der flaschen Stelle deklariert. ****** Anfängerfehler :-( Jetzt habe ich es in der Objekt-Ebene deklariert jetzt funktioniert es. Auch das Event beim beenden läuft. Danke für deine Hilfe :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
facebraker Mitglied IT
 
 Beiträge: 158 Registriert: 03.05.2009 Windows 7 Professional 64Bit AutoCAD 2007/2008/2009 ProSteel 3D 17.2/18.0/V8i ProStructures V8i_S3 Visual Studio 2010 Ultimate
|
erstellt am: 19. Mrz. 2009 14:25 <-- editieren / zitieren --> Unities abgeben:         
Hallo Alfred, ich muss nochmal fragen, die Lösung, die du mir gezeigt hast funktioniert prinzipell ABER das Event kommt zu spät, da sind die Profile schon entladen worden und somit komme ich an kein Profil-Objekt mehr ran. Gibt es ein Event, welche "früher" kommt? Oder muss ich im extremen, das Klick auf den Schliessen-Button und "Datei - Beenden" abfangen? Gruss fb. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 19. Mrz. 2009 14:55 <-- editieren / zitieren --> Unities abgeben:          Nur für facebraker
|
Ex-Mitglied
|
erstellt am: 19. Mrz. 2009 16:32 <-- editieren / zitieren -->
Hi, Zitat: ABER das Event kommt zu spät, da sind die Profile schon entladen
==> wer (welcher debugger) hat Dir das denn eingeredet probier mal (bei mir gehts):
Code: Private Sub pAcadApp_BeginQuit(Cancel As Boolean) 'da landest Du, wenn AutoCAD sich vertschüssen will dim tProfileName as string tProfileName = pAcadApp.Preferences.Profiles.ActiveProfile Call pAcadApp.Preferences.Profiles.ExportProfile(tProfileName , "C:\temp\" & tProfileName & ".arg") End Sub
- alfred - ------------------ www.hollaus.at |
facebraker Mitglied IT
 
 Beiträge: 158 Registriert: 03.05.2009 Windows 7 Professional 64Bit AutoCAD 2007/2008/2009 ProSteel 3D 17.2/18.0/V8i ProStructures V8i_S3 Visual Studio 2010 Ultimate
|
erstellt am: 20. Mrz. 2009 11:02 <-- editieren / zitieren --> Unities abgeben:         
Hallo alfred, ja das stimmt, ich habe einen verdammten Copy/Paste Fehler gemacht, ich habe das falsche Objekt angesprochen, und das war nat. NOTHING :-( Ich habe anstatt pAcadApp.Preferences.Profiles... habe ich Thisdrawing.application angesprochen, das konnte ja nicht gehen. Jetzt funktioniert es!!! Danke nochmal. Gruss fb. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Björn Möller Mitglied

 Beiträge: 96 Registriert: 22.03.2004 AutoCad Map 2019 Topobase, MapKanal
|
erstellt am: 15. Jan. 2012 18:00 <-- editieren / zitieren --> Unities abgeben:          Nur für facebraker
Hallo Facebraker, nach dem ich Jahre später auf den gleich Weg kam, habe ich versucht Eure Schritte zu befolgen, konnte aber das Ziel nicht erreichen. In meinem DVB-Projekt unter AutoCAD Objekte -> Thisdrawing habe ich folgende Zeilen kopiert. Leider kam zum Abschluss kein "letzter Gruß". Public WithEvents oAcad As AcadApplication Public Sub InitializeAppEvents() Set oAcad = ThisDrawing.Application End Sub Private Sub oAcad_BeginQuit(Cancel As Boolean) MsgBox "Und Tschüss" End Sub Habe ich noch was vergessen oder muss grundsätzlich noch was aktiviert werden? Gruß Björn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |