XP newbie questions
- I'm going to start playing around with XP's, and I have a few questions:
1) The examples in the XP toolkit are not re-entrant, so they assume only one instance of CC2 (or at least only one instance using a particular command at one time). Suppose I wish to write an XP that is re-entrant; is there a way to pass an instance data memory pointer through ReqData and get it back when the callback is called? I see RDATA.XDta seems to be a user-definable dword, but how does the callback get that value?
The reason for wanting re-entrance is so I can be running multiple copies of CC2 and executing my XP commands. (See 2)
2) Is it ok for an XP to display a dialog box, and not return for a long time? I understand that CC2 will not respond, but is there any background processing
that will get screwed up by not returning from an XP command for minutes or even hours?
3) I have in mind some XP commands that will want to display a preview before the user hits OK and the graphic is inserted. Is there a good way to insert "temporary" items in CC2, or must I draw the preview in the dialog box? I guess I could just insert it, and then delete it if the user changes the preview or cancels the command. How could I do that without affecting the current Undo item?
I am leaning toward displaying the preview in the dialog, but it would at least be nice to show a temporary outline of some sort in the drawing.
4) How would I go about grouping my graphic when I insert it? Are there start-group / end-group Entity Records? Is there a Group entity with sublist indicating the grouped entities?
I have browsed the XP doc, but have not absorbed everything in it yet. If you can answer my questions with "look at p. xx" or "see xx.h" then that's all the help I need. Thanks in advance.