third party management
16-Jan-92 00:44:19
Sb: #28769-third party management
Fm: Tony Tanzillo [LISP TM] 71241,2067
To: Dave Devereaux-Weber 74025,471
Dave – Well, since I could give you the bottom line of that long discussion
from memory, much faster than I could dig it up, I'll do that. The basic
problem is multiple applications that contend for definition of C:XXXX and
the S::STARTUP function. To put it simply, they can't coexist without some
changes. In the case of S::STARTUP, what I recommend is that no application
attempt to define it, and instead, each application puts the name of the file
containing its startup code into an ascii file (call it 'INIT.LSP' if you wish)
Along with that, the following is the only thing that needs to be placed in
ACAD.LSP:
(defun S::STARTUP ()
(cond ( (not (findfile "INIT.LSP")))
(t (setq init (open "init.lsp" "r"))
(while (setq lspfile (read-line init))
(cond ( (or (findfile lspfile)
(findfile (strcat lspfile ".lsp")))
(load lspfile))))
(close init)))
)
In the case of two or more applications that attempt to redefine the same
AutoCAD command and replace it with their own version, things are just not
that simple, and this will require some intergration, to modify and/or to
combine each application-defined command replacement into one. I can't give
you any advice here, because each case must be dealt with individually, and
there are no general guidelines to follow.
If you have problems relating to the latter issue, than feel free to bring
them up here, and I'm sure you'll get plenty of help and/or advice.
-TonyT.