| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Autoload (bedarfsweises Laden) von DVB (1983 mal gelesen)
|
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003
|
erstellt am: 29. Aug. 2011 16:08 <-- editieren / zitieren --> Unities abgeben:
Als Lispler ist mir die VBA-Welt etwas fremd, daher vielelicht etwas banal: Kann man für DVB auch so etwas wie "autoload" definieren? (Das heisst, die DVB wird nur dann geladen, wenn ich einen bestimmten Befehl eingebe. Ansonsten bleibt sie ungeladen ..) Hier gibt es ein ...BeginnOpen... http://ww3.cad.de/foren/ubb/Forum259/HTML/000282.shtml Geht es auch anders? Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 / 2023 BricsCAD 22
|
erstellt am: 29. Aug. 2011 16:25 <-- editieren / zitieren --> Unities abgeben:
Nachtrag: in der Zwischenzeit habe ich diese Zeile in meinem MNL eingebaut (ist natürlich kein Bedarfs-Laden, sondern ein Dauerladen): Code: (vl-vbaload "test1.2.dvb")
Als Ergebnis ernte ich einen "Automatisierungsfehler". Wenn ich das Programm aber mit APPLOAD hole, dann gibt es kein Problem. Warum ??? Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2624 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Plateia, Canalis Visual Basic
|
erstellt am: 30. Aug. 2011 00:29 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
|
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003
|
erstellt am: 30. Aug. 2011 18:10 <-- editieren / zitieren --> Unities abgeben:
danke für die Hinweise, aber ... Zitat: Original erstellt von KlaK: Als VBA Nichtprofi habe ich mir ganz banal die folgenden Befehle auf die Werkzeugleiste gelegt: ^C^C(command "vbaload" "My.dvb") ...
Das möchte ich vermeiden, weil ich gerne über die MNL zentral steuere. Zitat: Original erstellt von KlaK: ...Aber vielleicht hilft Dir ja diese Seite weiter...
Leider nein - das ist genau das, was ich schon habe ... Andere Tipps? Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2624 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Plateia, Canalis Visual Basic
|
erstellt am: 30. Aug. 2011 23:21 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
Hmm, verstehe ich jetzt nicht Du schreibst: Zitat: Kann man für DVB auch so etwas wie "autoload" definieren? (Das heisst, die DVB wird nur dann geladen, wenn ich einen bestimmten Befehl eingebe. Ansonsten bleibt sie ungeladen ..)
Genau das ist doch im unteren Seitenbereich beschrieben. Eine Funktion die überprüft, ob das Programm schon geladen ist, wenn nicht wird es nachgeladen und dann ausgeführt. Zusätzlich wird noch eine Methode gezeigt wie dvb wieder entladen werden. Aber vielleicht habe ich das auch falsch gelesen ... Andere Frage: Wie hast Du den Aufruf in die MNL gestellt? Direkt oder hast Du das in der S::Startup - Funktion definiert? Also erst nach dem Vollständigen Initialisieren der Zeichnung. Der Automatisierungsfehler könnte damit zusammenhängen das noch nicht alles geladen war. (ungetestet) Zitat: (Aus der AutoCAD Hilfe:)acad.dvb — Automatisches Laden eines VBA-Projekts Die Datei acad.dvb ist nützlich, wenn Sie ein bestimmtes VBA-Projekt laden möchten, das Makros enthält, die bei jedem Start von AutoCAD ausgeführt werden sollen. Immer wenn Sie eine neue AutoCAD-Zeichnungssitzung starten, sucht das Programm nach der Datei acad.dvb und lädt sie. Wenn Sie möchten, dass ein Makro in der Datei acad.dvb jedes Mal dann ausgeführt wird, wenn Sie eine neue Zeichnung beginnen oder eine vorhandene Zeichnung öffnen, fügen Sie der Datei acaddoc.lsp folgenden Code hinzu: Code: (defun S::STARTUP() (command "_-vbarun" "updatetitleblock") )
Der Projektname im Beispiel lautet updatetitleblock
Klaus [Diese Nachricht wurde von KlaK am 30. Aug. 2011 editiert.] [Diese Nachricht wurde von KlaK am 30. Aug. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003
|
erstellt am: 07. Sep. 2011 17:22 <-- editieren / zitieren --> Unities abgeben:
So, mit etwas Verzögerung habe ich das Thema nun zu einem Ende gebracht. Bilanz: - Das Thema S::STARTUP habe ich getestet. Die Sache für sich funktioniert, aber hier hilft es nichts. - Das Thema "Initialisieren der Zeichnung" trifft auch nicht das Problem. Auch bei vollständig geladener Zeichnung bringt der Befehl "(vl-vbaload ..." einen Automatisierungsfehler. - Ganz simpel funktioniert der Befehl "(command "vbaload" .....)" - eingetippt und auch in der MNL ohne S::STARTUP. - Das "bedarfsweise laden" dürfte mit den Hinweisen von Afralisp (siehe oben) um das "command ..." herumgebaut werden. Da werde ich mal sehen ... Warum das eine schon läuft und das andere nicht - das wissen die Götter, ich weiss es nicht. Danke nochmals für die Hinweise. Peter
------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |