Home » Archimedes archive » Acorn User » AU 1996-12 B.adf » Features » PCA/Docs/Intro
PCA/Docs/Intro
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
| Tape/disk: | Home » Archimedes archive » Acorn User » AU 1996-12 B.adf » Features |
| Filename: | PCA/Docs/Intro |
| Read OK: | ✔ |
| File size: | 1E3E bytes |
| Load address: | 0000 |
| Exec address: | 0000 |
File contents
Plug In Compliant Application protocol ====================================== For latest information on the PCA protocol visit our Web site at http://www.stcoll.ac.uk/clares/support/ Introduction ============ The Clares Plug In Compliant Application (PCA) specification provides an easy to implement way of allowing multiple applications to share common objects residing in shared memory areas. A program written to the PCA specification will work with any other which supports the standard and uses the same type of objects. What does PCA do for me as a user ? The PCA standard works at two levels. In each case a document in a common memory area can be 'shared' between two or more applications. This is not like the versions of OLE implemented on the Acorn platform. There is a major difference in that OLE copies the document for the second application to work on, thus your data takes up twice as much RAM. With PCA all applications work on the same document thus incurring no RAM overheads. The controlling application is called the Local application and the slave application is called the Remote application. When a document is edited in a Remote application the object in the Local application is automatically updated. What we have up to now is a more efficient way of doing OLE. However, PCA does not stop there. Take an application like Composition which provides a page make up environment for bit image and vector images - all of which can be moved and edited - a bit like Draw for bit images but with a LOT of extras. Composition does not provide 'painting' tools but ProArtisan 24 does. If both applications are PCA compliant then a Utilities menu in Compo will show ProArt 24 as a 'tool'. Clicking on this menu entry opens a PA24 window showing the selected Compo object. PA24 can paint into this object or indeed perform any of its functions on the object. All changes are reflected immediately in Compo. This means that an application can have other applications as 'tools'. Small 'applets' can be written to provide specific functions to a PCA application and they will be usable by any other PCA compliant application. Imagine a simple application that does nothing else except display a sprite and conform to the PCA standard. Another application could provide paint tools, yet another could provide filters, another might provide warping tools - you get the picture I'm sure. From this range of applets you can construct the tool that you require to get the job done. What's more, more than one remote applet can work on the same object at the same time and changes made in any one of these will be immediately reflected in all of them. This is an awful lot better than OLE but there's still more. Instead of each applet opening its own window we can use 'In-place' editing. This means that only the Local application displays the document. When you click on a 'tool' entry in the Utilities menu the new tool's Toolbar opens over the Local application's window. All tools then work on the image in the Local's window. Now you are really able to construct an application from a range of applets. All you will see is one window displaying the document. Take this a little further and imagine a DTP package supporting the PCA standard. It could have a frame containing a graphic image and you could link this to PA24, Compo or any other PCA application, which could manipulate the image. The changes would be reflected immediately in the DTP window. However, if In-place editing is used, the Toolbars would appear in the DTP window and allow you to edit the graphic directly in the DTP window. What we now have is a system whereby an application can have an infinite number of additional tools and all applications conforming to PCA can be used with and by all other PCA applications. An example of this could be an image in a DTP frame linked to Compo which used this image as a 'canvas' for a composite picture. From Compo one of the images in the composite picture could also be linked to ProArt24 and any changes would immediately be reflected in Compo and the DTP package. Things may become clearer if you take a look at the example applications and documentation provided. The main document to read is 'ToTest'. A more technical explanation ============================ There are two 'sides' to PCA support. Applications may support either or both as it suits them. Local ----- A Local application creates and maintains an area of shared memory (on the RiscPC this is most likely to be a dynamic area, older hardware must use RMA or something like the Dynamite memory manager). Objects in this area may be edited by any PCA 'remote' application which is running, provided that it knows about the type of object concerned. It is the local application's responsibility to create and maintain pointers to objects and to take the correct action when an object moves or changes size. Remote ------ A Remote application modifies an object in some way when requested to do so by a Local application. Remote applications can be small 'applets' or major programs in their own right. The PCA specification sets no limits on the changes which may be made to an object. In practice, the two sides blur considerably. For example, it is possible for more than one 'Remote' task to work on the same object at the same time in which case the 'Remote' tasks must respond to some messages in a similar way to the 'Local' task. In addition, an optional extension to the standard provides support for 'In-place' editing of objects directly in another application's window. Limitations, assumptions and philosophy ======================================= The PCA standard requires the following: Objects are stored in an area of memory available to all tasks. (eg. Dynamic areas). Beyond that the PCA is designed to be as transparent as possible to the memory management system used by a program. See below for some notes on memory management related issues. Objects are either entirely paged into RAM during any PCA exchange, or a virtual memory system which is transparent to the program accessing memory is used (Eg. Clares Virtualise). Objects are stored in a cross-program standard format for which there is a method of rendering readily available to other programmers. Examples are RISC OS Sprites, Drawfiles, ArtWorks files, Plain text etc. If you are writing or have written a program which produces data objects that may be desirable for other programs to render, you should consider providing a rendering module (or some code) which other applications can use to display your object types. You should also consider placing the details (if not the rendering code itself) in the public domain. No well written RISC OS application is an island. By supporting the PCA standard programs can take advantage of each other's good features and minimise their weaknesses while providing the user with a far richer and more productive working environment. Memory management issues ======================== For backwards compatability programs that wish to use PCA on pre RiscPC hardware can fall back to using the RMA or something like the Dynamite memory manager. We do not however believe that Dynamite is the best solution for a PCA task on the RiscPC. This is because Dynamite uses one dynamic area to store all of its data rather than one dynamic area for each task. This practice means that, in the event of a PCA remote task going wrong and writing beyond the end of the object being edited, *all* tasks using Dynamite could crash rather than just the one local task in question. Also, Dynamite will not work with Virtualise which provides a PCA compatible virtual memory system.
00000000 50 6c 75 67 20 49 6e 20 43 6f 6d 70 6c 69 61 6e |Plug In Complian| 00000010 74 20 41 70 70 6c 69 63 61 74 69 6f 6e 20 70 72 |t Application pr| 00000020 6f 74 6f 63 6f 6c 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d |otocol.=========| 00000030 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| 00000040 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 |=============..F| 00000050 6f 72 20 6c 61 74 65 73 74 20 69 6e 66 6f 72 6d |or latest inform| 00000060 61 74 69 6f 6e 20 6f 6e 20 74 68 65 20 50 43 41 |ation on the PCA| 00000070 20 70 72 6f 74 6f 63 6f 6c 20 76 69 73 69 74 20 | protocol visit | 00000080 6f 75 72 20 57 65 62 20 73 69 74 65 20 61 74 0a |our Web site at.| 00000090 0a 68 74 74 70 3a 2f 2f 77 77 77 2e 73 74 63 6f |.http://www.stco| 000000a0 6c 6c 2e 61 63 2e 75 6b 2f 63 6c 61 72 65 73 2f |ll.ac.uk/clares/| 000000b0 73 75 70 70 6f 72 74 2f 0a 0a 0a 49 6e 74 72 6f |support/...Intro| 000000c0 64 75 63 74 69 6f 6e 0a 3d 3d 3d 3d 3d 3d 3d 3d |duction.========| 000000d0 3d 3d 3d 3d 0a 0a 0a 54 68 65 20 43 6c 61 72 65 |====...The Clare| 000000e0 73 20 50 6c 75 67 20 49 6e 20 43 6f 6d 70 6c 69 |s Plug In Compli| 000000f0 61 6e 74 20 41 70 70 6c 69 63 61 74 69 6f 6e 20 |ant Application | 00000100 28 50 43 41 29 20 73 70 65 63 69 66 69 63 61 74 |(PCA) specificat| 00000110 69 6f 6e 20 70 72 6f 76 69 64 65 73 20 61 6e 0a |ion provides an.| 00000120 65 61 73 79 20 74 6f 20 69 6d 70 6c 65 6d 65 6e |easy to implemen| 00000130 74 20 77 61 79 20 6f 66 20 61 6c 6c 6f 77 69 6e |t way of allowin| 00000140 67 20 6d 75 6c 74 69 70 6c 65 20 61 70 70 6c 69 |g multiple appli| 00000150 63 61 74 69 6f 6e 73 20 74 6f 20 73 68 61 72 65 |cations to share| 00000160 20 63 6f 6d 6d 6f 6e 0a 6f 62 6a 65 63 74 73 20 | common.objects | 00000170 72 65 73 69 64 69 6e 67 20 69 6e 20 73 68 61 72 |residing in shar| 00000180 65 64 20 6d 65 6d 6f 72 79 20 61 72 65 61 73 2e |ed memory areas.| 00000190 20 41 20 70 72 6f 67 72 61 6d 20 77 72 69 74 74 | A program writt| 000001a0 65 6e 20 74 6f 20 74 68 65 20 50 43 41 0a 73 70 |en to the PCA.sp| 000001b0 65 63 69 66 69 63 61 74 69 6f 6e 20 77 69 6c 6c |ecification will| 000001c0 20 77 6f 72 6b 20 77 69 74 68 20 61 6e 79 20 6f | work with any o| 000001d0 74 68 65 72 20 77 68 69 63 68 20 73 75 70 70 6f |ther which suppo| 000001e0 72 74 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 |rts the standard| 000001f0 20 61 6e 64 20 75 73 65 73 0a 74 68 65 20 73 61 | and uses.the sa| 00000200 6d 65 20 74 79 70 65 20 6f 66 20 6f 62 6a 65 63 |me type of objec| 00000210 74 73 2e 0a 0a 57 68 61 74 20 64 6f 65 73 20 50 |ts...What does P| 00000220 43 41 20 64 6f 20 66 6f 72 20 6d 65 20 61 73 20 |CA do for me as | 00000230 61 20 75 73 65 72 20 3f 20 0a 0a 54 68 65 20 50 |a user ? ..The P| 00000240 43 41 20 73 74 61 6e 64 61 72 64 20 77 6f 72 6b |CA standard work| 00000250 73 20 61 74 20 74 77 6f 20 6c 65 76 65 6c 73 2e |s at two levels.| 00000260 20 49 6e 20 65 61 63 68 20 63 61 73 65 20 61 20 | In each case a | 00000270 64 6f 63 75 6d 65 6e 74 20 69 6e 20 61 20 63 6f |document in a co| 00000280 6d 6d 6f 6e 0a 6d 65 6d 6f 72 79 20 61 72 65 61 |mmon.memory area| 00000290 20 63 61 6e 20 62 65 20 27 73 68 61 72 65 64 27 | can be 'shared'| 000002a0 20 62 65 74 77 65 65 6e 20 74 77 6f 20 6f 72 20 | between two or | 000002b0 6d 6f 72 65 20 61 70 70 6c 69 63 61 74 69 6f 6e |more application| 000002c0 73 2e 20 54 68 69 73 20 69 73 20 6e 6f 74 0a 6c |s. This is not.l| 000002d0 69 6b 65 20 74 68 65 20 76 65 72 73 69 6f 6e 73 |ike the versions| 000002e0 20 6f 66 20 4f 4c 45 20 69 6d 70 6c 65 6d 65 6e | of OLE implemen| 000002f0 74 65 64 20 6f 6e 20 74 68 65 20 41 63 6f 72 6e |ted on the Acorn| 00000300 20 70 6c 61 74 66 6f 72 6d 2e 20 54 68 65 72 65 | platform. There| 00000310 20 69 73 20 61 20 6d 61 6a 6f 72 0a 64 69 66 66 | is a major.diff| 00000320 65 72 65 6e 63 65 20 69 6e 20 74 68 61 74 20 4f |erence in that O| 00000330 4c 45 20 63 6f 70 69 65 73 20 74 68 65 20 64 6f |LE copies the do| 00000340 63 75 6d 65 6e 74 20 66 6f 72 20 74 68 65 20 73 |cument for the s| 00000350 65 63 6f 6e 64 20 61 70 70 6c 69 63 61 74 69 6f |econd applicatio| 00000360 6e 20 74 6f 0a 77 6f 72 6b 20 6f 6e 2c 20 74 68 |n to.work on, th| 00000370 75 73 20 79 6f 75 72 20 64 61 74 61 20 74 61 6b |us your data tak| 00000380 65 73 20 75 70 20 74 77 69 63 65 20 61 73 20 6d |es up twice as m| 00000390 75 63 68 20 52 41 4d 2e 20 57 69 74 68 20 50 43 |uch RAM. With PC| 000003a0 41 20 61 6c 6c 0a 61 70 70 6c 69 63 61 74 69 6f |A all.applicatio| 000003b0 6e 73 20 77 6f 72 6b 20 6f 6e 20 74 68 65 20 73 |ns work on the s| 000003c0 61 6d 65 20 64 6f 63 75 6d 65 6e 74 20 74 68 75 |ame document thu| 000003d0 73 20 69 6e 63 75 72 72 69 6e 67 20 6e 6f 20 52 |s incurring no R| 000003e0 41 4d 20 6f 76 65 72 68 65 61 64 73 2e 0a 0a 54 |AM overheads...T| 000003f0 68 65 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 61 |he controlling a| 00000400 70 70 6c 69 63 61 74 69 6f 6e 20 69 73 20 63 61 |pplication is ca| 00000410 6c 6c 65 64 20 74 68 65 20 4c 6f 63 61 6c 20 61 |lled the Local a| 00000420 70 70 6c 69 63 61 74 69 6f 6e 20 61 6e 64 20 74 |pplication and t| 00000430 68 65 20 73 6c 61 76 65 0a 61 70 70 6c 69 63 61 |he slave.applica| 00000440 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 74 |tion is called t| 00000450 68 65 20 20 52 65 6d 6f 74 65 20 61 70 70 6c 69 |he Remote appli| 00000460 63 61 74 69 6f 6e 2e 0a 0a 57 68 65 6e 20 61 20 |cation...When a | 00000470 64 6f 63 75 6d 65 6e 74 20 69 73 20 65 64 69 74 |document is edit| 00000480 65 64 20 69 6e 20 61 20 52 65 6d 6f 74 65 20 61 |ed in a Remote a| 00000490 70 70 6c 69 63 61 74 69 6f 6e 20 74 68 65 20 6f |pplication the o| 000004a0 62 6a 65 63 74 20 69 6e 20 74 68 65 20 4c 6f 63 |bject in the Loc| 000004b0 61 6c 0a 61 70 70 6c 69 63 61 74 69 6f 6e 20 69 |al.application i| 000004c0 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 |s automatically | 000004d0 75 70 64 61 74 65 64 2e 0a 0a 57 68 61 74 20 77 |updated...What w| 000004e0 65 20 68 61 76 65 20 75 70 20 74 6f 20 6e 6f 77 |e have up to now| 000004f0 20 69 73 20 61 20 6d 6f 72 65 20 65 66 66 69 63 | is a more effic| 00000500 69 65 6e 74 20 77 61 79 20 6f 66 20 64 6f 69 6e |ient way of doin| 00000510 67 20 4f 4c 45 2e 20 48 6f 77 65 76 65 72 2c 20 |g OLE. However, | 00000520 50 43 41 0a 64 6f 65 73 20 6e 6f 74 20 73 74 6f |PCA.does not sto| 00000530 70 20 74 68 65 72 65 2e 20 54 61 6b 65 20 61 6e |p there. Take an| 00000540 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6c 69 6b | application lik| 00000550 65 20 43 6f 6d 70 6f 73 69 74 69 6f 6e 20 77 68 |e Composition wh| 00000560 69 63 68 20 70 72 6f 76 69 64 65 73 20 61 0a 70 |ich provides a.p| 00000570 61 67 65 20 6d 61 6b 65 20 75 70 20 65 6e 76 69 |age make up envi| 00000580 72 6f 6e 6d 65 6e 74 20 66 6f 72 20 62 69 74 20 |ronment for bit | 00000590 69 6d 61 67 65 20 61 6e 64 20 76 65 63 74 6f 72 |image and vector| 000005a0 20 69 6d 61 67 65 73 20 2d 20 61 6c 6c 20 6f 66 | images - all of| 000005b0 20 77 68 69 63 68 20 63 61 6e 0a 62 65 20 6d 6f | which can.be mo| 000005c0 76 65 64 20 61 6e 64 20 65 64 69 74 65 64 20 2d |ved and edited -| 000005d0 20 61 20 62 69 74 20 6c 69 6b 65 20 44 72 61 77 | a bit like Draw| 000005e0 20 66 6f 72 20 62 69 74 20 69 6d 61 67 65 73 20 | for bit images | 000005f0 62 75 74 20 77 69 74 68 20 61 20 4c 4f 54 20 6f |but with a LOT o| 00000600 66 0a 65 78 74 72 61 73 2e 20 43 6f 6d 70 6f 73 |f.extras. Compos| 00000610 69 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 70 |ition does not p| 00000620 72 6f 76 69 64 65 20 27 70 61 69 6e 74 69 6e 67 |rovide 'painting| 00000630 27 20 74 6f 6f 6c 73 20 62 75 74 20 50 72 6f 41 |' tools but ProA| 00000640 72 74 69 73 61 6e 20 32 34 0a 64 6f 65 73 2e 20 |rtisan 24.does. | 00000650 49 66 20 62 6f 74 68 20 61 70 70 6c 69 63 61 74 |If both applicat| 00000660 69 6f 6e 73 20 61 72 65 20 50 43 41 20 63 6f 6d |ions are PCA com| 00000670 70 6c 69 61 6e 74 20 74 68 65 6e 20 61 20 55 74 |pliant then a Ut| 00000680 69 6c 69 74 69 65 73 20 6d 65 6e 75 20 69 6e 20 |ilities menu in | 00000690 43 6f 6d 70 6f 0a 77 69 6c 6c 20 73 68 6f 77 20 |Compo.will show | 000006a0 50 72 6f 41 72 74 20 32 34 20 61 73 20 61 20 27 |ProArt 24 as a '| 000006b0 74 6f 6f 6c 27 2e 20 43 6c 69 63 6b 69 6e 67 20 |tool'. Clicking | 000006c0 6f 6e 20 74 68 69 73 20 6d 65 6e 75 20 65 6e 74 |on this menu ent| 000006d0 72 79 20 6f 70 65 6e 73 20 61 20 50 41 32 34 0a |ry opens a PA24.| 000006e0 77 69 6e 64 6f 77 20 73 68 6f 77 69 6e 67 20 74 |window showing t| 000006f0 68 65 20 73 65 6c 65 63 74 65 64 20 43 6f 6d 70 |he selected Comp| 00000700 6f 20 6f 62 6a 65 63 74 2e 20 50 41 32 34 20 63 |o object. PA24 c| 00000710 61 6e 20 70 61 69 6e 74 20 69 6e 74 6f 20 74 68 |an paint into th| 00000720 69 73 20 6f 62 6a 65 63 74 20 6f 72 0a 69 6e 64 |is object or.ind| 00000730 65 65 64 20 70 65 72 66 6f 72 6d 20 61 6e 79 20 |eed perform any | 00000740 6f 66 20 69 74 73 20 66 75 6e 63 74 69 6f 6e 73 |of its functions| 00000750 20 6f 6e 20 74 68 65 20 6f 62 6a 65 63 74 2e 20 | on the object. | 00000760 41 6c 6c 20 63 68 61 6e 67 65 73 20 61 72 65 20 |All changes are | 00000770 72 65 66 6c 65 63 74 65 64 0a 69 6d 6d 65 64 69 |reflected.immedi| 00000780 61 74 65 6c 79 20 69 6e 20 43 6f 6d 70 6f 2e 0a |ately in Compo..| 00000790 0a 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 |.This means that| 000007a0 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 | an application | 000007b0 63 61 6e 20 68 61 76 65 20 6f 74 68 65 72 20 61 |can have other a| 000007c0 70 70 6c 69 63 61 74 69 6f 6e 73 20 61 73 20 27 |pplications as '| 000007d0 74 6f 6f 6c 73 27 2e 20 53 6d 61 6c 6c 0a 27 61 |tools'. Small.'a| 000007e0 70 70 6c 65 74 73 27 20 63 61 6e 20 62 65 20 77 |pplets' can be w| 000007f0 72 69 74 74 65 6e 20 74 6f 20 70 72 6f 76 69 64 |ritten to provid| 00000800 65 20 73 70 65 63 69 66 69 63 20 66 75 6e 63 74 |e specific funct| 00000810 69 6f 6e 73 20 74 6f 20 61 20 50 43 41 20 61 70 |ions to a PCA ap| 00000820 70 6c 69 63 61 74 69 6f 6e 0a 61 6e 64 20 74 68 |plication.and th| 00000830 65 79 20 77 69 6c 6c 20 62 65 20 75 73 61 62 6c |ey will be usabl| 00000840 65 20 62 79 20 61 6e 79 20 6f 74 68 65 72 20 50 |e by any other P| 00000850 43 41 20 63 6f 6d 70 6c 69 61 6e 74 20 61 70 70 |CA compliant app| 00000860 6c 69 63 61 74 69 6f 6e 2e 0a 0a 49 6d 61 67 69 |lication...Imagi| 00000870 6e 65 20 61 20 73 69 6d 70 6c 65 20 61 70 70 6c |ne a simple appl| 00000880 69 63 61 74 69 6f 6e 20 74 68 61 74 20 64 6f 65 |ication that doe| 00000890 73 20 6e 6f 74 68 69 6e 67 20 65 6c 73 65 20 65 |s nothing else e| 000008a0 78 63 65 70 74 20 64 69 73 70 6c 61 79 20 61 0a |xcept display a.| 000008b0 73 70 72 69 74 65 20 61 6e 64 20 63 6f 6e 66 6f |sprite and confo| 000008c0 72 6d 20 74 6f 20 74 68 65 20 50 43 41 20 73 74 |rm to the PCA st| 000008d0 61 6e 64 61 72 64 2e 20 41 6e 6f 74 68 65 72 20 |andard. Another | 000008e0 61 70 70 6c 69 63 61 74 69 6f 6e 20 63 6f 75 6c |application coul| 000008f0 64 20 70 72 6f 76 69 64 65 0a 70 61 69 6e 74 20 |d provide.paint | 00000900 74 6f 6f 6c 73 2c 20 79 65 74 20 61 6e 6f 74 68 |tools, yet anoth| 00000910 65 72 20 63 6f 75 6c 64 20 70 72 6f 76 69 64 65 |er could provide| 00000920 20 66 69 6c 74 65 72 73 2c 20 61 6e 6f 74 68 65 | filters, anothe| 00000930 72 20 6d 69 67 68 74 20 70 72 6f 76 69 64 65 0a |r might provide.| 00000940 77 61 72 70 69 6e 67 20 74 6f 6f 6c 73 20 2d 20 |warping tools - | 00000950 79 6f 75 20 67 65 74 20 74 68 65 20 70 69 63 74 |you get the pict| 00000960 75 72 65 20 49 27 6d 20 73 75 72 65 2e 20 46 72 |ure I'm sure. Fr| 00000970 6f 6d 20 74 68 69 73 20 72 61 6e 67 65 20 6f 66 |om this range of| 00000980 20 61 70 70 6c 65 74 73 20 79 6f 75 0a 63 61 6e | applets you.can| 00000990 20 63 6f 6e 73 74 72 75 63 74 20 74 68 65 20 74 | construct the t| 000009a0 6f 6f 6c 20 74 68 61 74 20 79 6f 75 20 72 65 71 |ool that you req| 000009b0 75 69 72 65 20 74 6f 20 67 65 74 20 74 68 65 20 |uire to get the | 000009c0 6a 6f 62 20 64 6f 6e 65 2e 0a 0a 57 68 61 74 27 |job done...What'| 000009d0 73 20 6d 6f 72 65 2c 20 6d 6f 72 65 20 74 68 61 |s more, more tha| 000009e0 6e 20 6f 6e 65 20 72 65 6d 6f 74 65 20 61 70 70 |n one remote app| 000009f0 6c 65 74 20 63 61 6e 20 77 6f 72 6b 20 6f 6e 20 |let can work on | 00000a00 74 68 65 20 73 61 6d 65 20 6f 62 6a 65 63 74 20 |the same object | 00000a10 61 74 20 74 68 65 0a 73 61 6d 65 20 74 69 6d 65 |at the.same time| 00000a20 20 61 6e 64 20 63 68 61 6e 67 65 73 20 6d 61 64 | and changes mad| 00000a30 65 20 69 6e 20 61 6e 79 20 6f 6e 65 20 6f 66 20 |e in any one of | 00000a40 74 68 65 73 65 20 77 69 6c 6c 20 62 65 20 69 6d |these will be im| 00000a50 6d 65 64 69 61 74 65 6c 79 20 72 65 66 6c 65 63 |mediately reflec| 00000a60 74 65 64 0a 69 6e 20 61 6c 6c 20 6f 66 20 74 68 |ted.in all of th| 00000a70 65 6d 2e 0a 0a 54 68 69 73 20 69 73 20 61 6e 20 |em...This is an | 00000a80 61 77 66 75 6c 20 6c 6f 74 20 62 65 74 74 65 72 |awful lot better| 00000a90 20 74 68 61 6e 20 4f 4c 45 20 62 75 74 20 74 68 | than OLE but th| 00000aa0 65 72 65 27 73 20 73 74 69 6c 6c 20 6d 6f 72 65 |ere's still more| 00000ab0 2e 0a 0a 49 6e 73 74 65 61 64 20 6f 66 20 65 61 |...Instead of ea| 00000ac0 63 68 20 61 70 70 6c 65 74 20 6f 70 65 6e 69 6e |ch applet openin| 00000ad0 67 20 69 74 73 20 6f 77 6e 20 77 69 6e 64 6f 77 |g its own window| 00000ae0 20 77 65 20 63 61 6e 20 75 73 65 20 27 49 6e 2d | we can use 'In-| 00000af0 70 6c 61 63 65 27 20 65 64 69 74 69 6e 67 2e 0a |place' editing..| 00000b00 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 |This means that | 00000b10 6f 6e 6c 79 20 74 68 65 20 20 4c 6f 63 61 6c 20 |only the Local | 00000b20 61 70 70 6c 69 63 61 74 69 6f 6e 20 64 69 73 70 |application disp| 00000b30 6c 61 79 73 20 74 68 65 20 64 6f 63 75 6d 65 6e |lays the documen| 00000b40 74 2e 20 57 68 65 6e 20 79 6f 75 0a 63 6c 69 63 |t. When you.clic| 00000b50 6b 20 6f 6e 20 61 20 27 74 6f 6f 6c 27 20 65 6e |k on a 'tool' en| 00000b60 74 72 79 20 69 6e 20 74 68 65 20 55 74 69 6c 69 |try in the Utili| 00000b70 74 69 65 73 20 6d 65 6e 75 20 74 68 65 20 6e 65 |ties menu the ne| 00000b80 77 20 74 6f 6f 6c 27 73 20 54 6f 6f 6c 62 61 72 |w tool's Toolbar| 00000b90 20 6f 70 65 6e 73 0a 6f 76 65 72 20 74 68 65 20 | opens.over the | 00000ba0 4c 6f 63 61 6c 20 61 70 70 6c 69 63 61 74 69 6f |Local applicatio| 00000bb0 6e 27 73 20 77 69 6e 64 6f 77 2e 20 41 6c 6c 20 |n's window. All | 00000bc0 74 6f 6f 6c 73 20 74 68 65 6e 20 77 6f 72 6b 20 |tools then work | 00000bd0 6f 6e 20 74 68 65 20 69 6d 61 67 65 20 69 6e 20 |on the image in | 00000be0 74 68 65 0a 4c 6f 63 61 6c 27 73 20 77 69 6e 64 |the.Local's wind| 00000bf0 6f 77 2e 0a 0a 4e 6f 77 20 79 6f 75 20 61 72 65 |ow...Now you are| 00000c00 20 72 65 61 6c 6c 79 20 61 62 6c 65 20 74 6f 20 | really able to | 00000c10 63 6f 6e 73 74 72 75 63 74 20 61 6e 20 61 70 70 |construct an app| 00000c20 6c 69 63 61 74 69 6f 6e 20 66 72 6f 6d 20 61 20 |lication from a | 00000c30 72 61 6e 67 65 20 6f 66 20 61 70 70 6c 65 74 73 |range of applets| 00000c40 2e 0a 41 6c 6c 20 79 6f 75 20 77 69 6c 6c 20 73 |..All you will s| 00000c50 65 65 20 69 73 20 6f 6e 65 20 77 69 6e 64 6f 77 |ee is one window| 00000c60 20 64 69 73 70 6c 61 79 69 6e 67 20 74 68 65 20 | displaying the | 00000c70 64 6f 63 75 6d 65 6e 74 2e 0a 0a 54 61 6b 65 20 |document...Take | 00000c80 74 68 69 73 20 61 20 6c 69 74 74 6c 65 20 66 75 |this a little fu| 00000c90 72 74 68 65 72 20 61 6e 64 20 69 6d 61 67 69 6e |rther and imagin| 00000ca0 65 20 61 20 44 54 50 20 70 61 63 6b 61 67 65 20 |e a DTP package | 00000cb0 73 75 70 70 6f 72 74 69 6e 67 20 74 68 65 20 50 |supporting the P| 00000cc0 43 41 0a 73 74 61 6e 64 61 72 64 2e 20 49 74 20 |CA.standard. It | 00000cd0 63 6f 75 6c 64 20 68 61 76 65 20 61 20 66 72 61 |could have a fra| 00000ce0 6d 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 |me containing a | 00000cf0 67 72 61 70 68 69 63 20 69 6d 61 67 65 20 61 6e |graphic image an| 00000d00 64 20 79 6f 75 20 63 6f 75 6c 64 0a 6c 69 6e 6b |d you could.link| 00000d10 20 74 68 69 73 20 74 6f 20 50 41 32 34 2c 20 43 | this to PA24, C| 00000d20 6f 6d 70 6f 20 6f 72 20 61 6e 79 20 6f 74 68 65 |ompo or any othe| 00000d30 72 20 50 43 41 20 61 70 70 6c 69 63 61 74 69 6f |r PCA applicatio| 00000d40 6e 2c 20 77 68 69 63 68 20 63 6f 75 6c 64 0a 6d |n, which could.m| 00000d50 61 6e 69 70 75 6c 61 74 65 20 74 68 65 20 69 6d |anipulate the im| 00000d60 61 67 65 2e 20 54 68 65 20 63 68 61 6e 67 65 73 |age. The changes| 00000d70 20 77 6f 75 6c 64 20 62 65 20 72 65 66 6c 65 63 | would be reflec| 00000d80 74 65 64 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 |ted immediately | 00000d90 69 6e 20 74 68 65 20 44 54 50 0a 77 69 6e 64 6f |in the DTP.windo| 00000da0 77 2e 20 48 6f 77 65 76 65 72 2c 20 69 66 20 49 |w. However, if I| 00000db0 6e 2d 70 6c 61 63 65 20 65 64 69 74 69 6e 67 20 |n-place editing | 00000dc0 69 73 20 75 73 65 64 2c 20 74 68 65 20 54 6f 6f |is used, the Too| 00000dd0 6c 62 61 72 73 20 77 6f 75 6c 64 20 61 70 70 65 |lbars would appe| 00000de0 61 72 20 69 6e 0a 74 68 65 20 44 54 50 20 77 69 |ar in.the DTP wi| 00000df0 6e 64 6f 77 20 61 6e 64 20 61 6c 6c 6f 77 20 79 |ndow and allow y| 00000e00 6f 75 20 74 6f 20 65 64 69 74 20 74 68 65 20 67 |ou to edit the g| 00000e10 72 61 70 68 69 63 20 64 69 72 65 63 74 6c 79 20 |raphic directly | 00000e20 69 6e 20 74 68 65 20 44 54 50 20 77 69 6e 64 6f |in the DTP windo| 00000e30 77 2e 0a 20 20 0a 57 68 61 74 20 77 65 20 6e 6f |w.. .What we no| 00000e40 77 20 68 61 76 65 20 69 73 20 61 20 73 79 73 74 |w have is a syst| 00000e50 65 6d 20 77 68 65 72 65 62 79 20 61 6e 20 61 70 |em whereby an ap| 00000e60 70 6c 69 63 61 74 69 6f 6e 20 63 61 6e 20 68 61 |plication can ha| 00000e70 76 65 20 61 6e 20 69 6e 66 69 6e 69 74 65 0a 6e |ve an infinite.n| 00000e80 75 6d 62 65 72 20 6f 66 20 61 64 64 69 74 69 6f |umber of additio| 00000e90 6e 61 6c 20 74 6f 6f 6c 73 20 61 6e 64 20 61 6c |nal tools and al| 00000ea0 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 63 |l applications c| 00000eb0 6f 6e 66 6f 72 6d 69 6e 67 20 74 6f 20 50 43 41 |onforming to PCA| 00000ec0 20 63 61 6e 20 62 65 0a 75 73 65 64 20 77 69 74 | can be.used wit| 00000ed0 68 20 61 6e 64 20 62 79 20 61 6c 6c 20 6f 74 68 |h and by all oth| 00000ee0 65 72 20 50 43 41 20 61 70 70 6c 69 63 61 74 69 |er PCA applicati| 00000ef0 6f 6e 73 2e 20 41 6e 20 65 78 61 6d 70 6c 65 20 |ons. An example | 00000f00 6f 66 20 74 68 69 73 20 63 6f 75 6c 64 20 62 65 |of this could be| 00000f10 20 61 6e 0a 69 6d 61 67 65 20 69 6e 20 61 20 44 | an.image in a D| 00000f20 54 50 20 66 72 61 6d 65 20 6c 69 6e 6b 65 64 20 |TP frame linked | 00000f30 74 6f 20 43 6f 6d 70 6f 20 77 68 69 63 68 20 75 |to Compo which u| 00000f40 73 65 64 20 74 68 69 73 20 69 6d 61 67 65 20 61 |sed this image a| 00000f50 73 20 61 20 27 63 61 6e 76 61 73 27 20 66 6f 72 |s a 'canvas' for| 00000f60 0a 61 20 63 6f 6d 70 6f 73 69 74 65 20 70 69 63 |.a composite pic| 00000f70 74 75 72 65 2e 20 46 72 6f 6d 20 43 6f 6d 70 6f |ture. From Compo| 00000f80 20 6f 6e 65 20 6f 66 20 74 68 65 20 69 6d 61 67 | one of the imag| 00000f90 65 73 20 69 6e 20 74 68 65 20 63 6f 6d 70 6f 73 |es in the compos| 00000fa0 69 74 65 20 70 69 63 74 75 72 65 0a 63 6f 75 6c |ite picture.coul| 00000fb0 64 20 61 6c 73 6f 20 62 65 20 6c 69 6e 6b 65 64 |d also be linked| 00000fc0 20 74 6f 20 50 72 6f 41 72 74 32 34 20 61 6e 64 | to ProArt24 and| 00000fd0 20 61 6e 79 20 63 68 61 6e 67 65 73 20 77 6f 75 | any changes wou| 00000fe0 6c 64 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 62 |ld immediately b| 00000ff0 65 0a 72 65 66 6c 65 63 74 65 64 20 69 6e 20 43 |e.reflected in C| 00001000 6f 6d 70 6f 20 61 6e 64 20 74 68 65 20 44 54 50 |ompo and the DTP| 00001010 20 70 61 63 6b 61 67 65 2e 0a 0a 54 68 69 6e 67 | package...Thing| 00001020 73 20 6d 61 79 20 62 65 63 6f 6d 65 20 63 6c 65 |s may become cle| 00001030 61 72 65 72 20 69 66 20 79 6f 75 20 74 61 6b 65 |arer if you take| 00001040 20 61 20 6c 6f 6f 6b 20 61 74 20 74 68 65 20 65 | a look at the e| 00001050 78 61 6d 70 6c 65 20 61 70 70 6c 69 63 61 74 69 |xample applicati| 00001060 6f 6e 73 20 61 6e 64 0a 64 6f 63 75 6d 65 6e 74 |ons and.document| 00001070 61 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 2e 20 |ation provided. | 00001080 54 68 65 20 6d 61 69 6e 20 64 6f 63 75 6d 65 6e |The main documen| 00001090 74 20 74 6f 20 72 65 61 64 20 69 73 20 27 54 6f |t to read is 'To| 000010a0 54 65 73 74 27 2e 0a 0a 0a 41 20 6d 6f 72 65 20 |Test'....A more | 000010b0 74 65 63 68 6e 69 63 61 6c 20 65 78 70 6c 61 6e |technical explan| 000010c0 61 74 69 6f 6e 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |ation.==========| 000010d0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| 000010e0 3d 3d 0a 0a 0a 54 68 65 72 65 20 61 72 65 20 74 |==...There are t| 000010f0 77 6f 20 27 73 69 64 65 73 27 20 74 6f 20 50 43 |wo 'sides' to PC| 00001100 41 20 73 75 70 70 6f 72 74 2e 20 41 70 70 6c 69 |A support. Appli| 00001110 63 61 74 69 6f 6e 73 20 6d 61 79 20 73 75 70 70 |cations may supp| 00001120 6f 72 74 20 65 69 74 68 65 72 20 6f 72 0a 62 6f |ort either or.bo| 00001130 74 68 20 61 73 20 69 74 20 73 75 69 74 73 20 74 |th as it suits t| 00001140 68 65 6d 2e 20 0a 0a 4c 6f 63 61 6c 0a 2d 2d 2d |hem. ..Local.---| 00001150 2d 2d 0a 0a 41 20 4c 6f 63 61 6c 20 61 70 70 6c |--..A Local appl| 00001160 69 63 61 74 69 6f 6e 20 63 72 65 61 74 65 73 20 |ication creates | 00001170 61 6e 64 20 6d 61 69 6e 74 61 69 6e 73 20 61 6e |and maintains an| 00001180 20 61 72 65 61 20 6f 66 20 73 68 61 72 65 64 20 | area of shared | 00001190 6d 65 6d 6f 72 79 20 28 6f 6e 20 74 68 65 0a 52 |memory (on the.R| 000011a0 69 73 63 50 43 20 74 68 69 73 20 69 73 20 6d 6f |iscPC this is mo| 000011b0 73 74 20 6c 69 6b 65 6c 79 20 74 6f 20 62 65 20 |st likely to be | 000011c0 61 20 64 79 6e 61 6d 69 63 20 61 72 65 61 2c 20 |a dynamic area, | 000011d0 6f 6c 64 65 72 20 68 61 72 64 77 61 72 65 20 6d |older hardware m| 000011e0 75 73 74 20 75 73 65 20 52 4d 41 0a 6f 72 20 73 |ust use RMA.or s| 000011f0 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 74 68 |omething like th| 00001200 65 20 44 79 6e 61 6d 69 74 65 20 6d 65 6d 6f 72 |e Dynamite memor| 00001210 79 20 6d 61 6e 61 67 65 72 29 2e 20 4f 62 6a 65 |y manager). Obje| 00001220 63 74 73 20 69 6e 20 74 68 69 73 20 61 72 65 61 |cts in this area| 00001230 20 6d 61 79 20 62 65 0a 65 64 69 74 65 64 20 62 | may be.edited b| 00001240 79 20 61 6e 79 20 50 43 41 20 27 72 65 6d 6f 74 |y any PCA 'remot| 00001250 65 27 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 77 |e' application w| 00001260 68 69 63 68 20 69 73 20 72 75 6e 6e 69 6e 67 2c |hich is running,| 00001270 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 69 | provided that i| 00001280 74 0a 6b 6e 6f 77 73 20 61 62 6f 75 74 20 74 68 |t.knows about th| 00001290 65 20 74 79 70 65 20 6f 66 20 6f 62 6a 65 63 74 |e type of object| 000012a0 20 63 6f 6e 63 65 72 6e 65 64 2e 20 49 74 20 69 | concerned. It i| 000012b0 73 20 74 68 65 20 6c 6f 63 61 6c 20 61 70 70 6c |s the local appl| 000012c0 69 63 61 74 69 6f 6e 27 73 0a 72 65 73 70 6f 6e |ication's.respon| 000012d0 73 69 62 69 6c 69 74 79 20 74 6f 20 63 72 65 61 |sibility to crea| 000012e0 74 65 20 61 6e 64 20 6d 61 69 6e 74 61 69 6e 20 |te and maintain | 000012f0 70 6f 69 6e 74 65 72 73 20 74 6f 20 6f 62 6a 65 |pointers to obje| 00001300 63 74 73 20 61 6e 64 20 74 6f 20 74 61 6b 65 20 |cts and to take | 00001310 74 68 65 0a 63 6f 72 72 65 63 74 20 61 63 74 69 |the.correct acti| 00001320 6f 6e 20 77 68 65 6e 20 61 6e 20 6f 62 6a 65 63 |on when an objec| 00001330 74 20 6d 6f 76 65 73 20 6f 72 20 63 68 61 6e 67 |t moves or chang| 00001340 65 73 20 73 69 7a 65 2e 0a 20 0a 52 65 6d 6f 74 |es size.. .Remot| 00001350 65 20 0a 2d 2d 2d 2d 2d 2d 0a 0a 41 20 52 65 6d |e .------..A Rem| 00001360 6f 74 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 |ote application | 00001370 6d 6f 64 69 66 69 65 73 20 61 6e 20 6f 62 6a 65 |modifies an obje| 00001380 63 74 20 69 6e 20 73 6f 6d 65 20 77 61 79 20 77 |ct in some way w| 00001390 68 65 6e 20 72 65 71 75 65 73 74 65 64 20 74 6f |hen requested to| 000013a0 20 64 6f 20 73 6f 0a 62 79 20 61 20 4c 6f 63 61 | do so.by a Loca| 000013b0 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 20 52 |l application. R| 000013c0 65 6d 6f 74 65 20 61 70 70 6c 69 63 61 74 69 6f |emote applicatio| 000013d0 6e 73 20 63 61 6e 20 62 65 20 73 6d 61 6c 6c 20 |ns can be small | 000013e0 27 61 70 70 6c 65 74 73 27 20 6f 72 20 6d 61 6a |'applets' or maj| 000013f0 6f 72 0a 70 72 6f 67 72 61 6d 73 20 69 6e 20 74 |or.programs in t| 00001400 68 65 69 72 20 6f 77 6e 20 72 69 67 68 74 2e 20 |heir own right. | 00001410 54 68 65 20 50 43 41 20 73 70 65 63 69 66 69 63 |The PCA specific| 00001420 61 74 69 6f 6e 20 73 65 74 73 20 6e 6f 20 6c 69 |ation sets no li| 00001430 6d 69 74 73 20 6f 6e 20 74 68 65 0a 63 68 61 6e |mits on the.chan| 00001440 67 65 73 20 77 68 69 63 68 20 6d 61 79 20 62 65 |ges which may be| 00001450 20 6d 61 64 65 20 74 6f 20 61 6e 20 6f 62 6a 65 | made to an obje| 00001460 63 74 2e 0a 0a 49 6e 20 70 72 61 63 74 69 63 65 |ct...In practice| 00001470 2c 20 74 68 65 20 74 77 6f 20 73 69 64 65 73 20 |, the two sides | 00001480 62 6c 75 72 20 63 6f 6e 73 69 64 65 72 61 62 6c |blur considerabl| 00001490 79 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 |y. For example, | 000014a0 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 0a 66 |it is possible.f| 000014b0 6f 72 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 |or more than one| 000014c0 20 27 52 65 6d 6f 74 65 27 20 74 61 73 6b 20 74 | 'Remote' task t| 000014d0 6f 20 77 6f 72 6b 20 6f 6e 20 74 68 65 20 73 61 |o work on the sa| 000014e0 6d 65 20 6f 62 6a 65 63 74 20 61 74 20 74 68 65 |me object at the| 000014f0 20 73 61 6d 65 20 74 69 6d 65 0a 69 6e 20 77 68 | same time.in wh| 00001500 69 63 68 20 63 61 73 65 20 74 68 65 20 27 52 65 |ich case the 'Re| 00001510 6d 6f 74 65 27 20 74 61 73 6b 73 20 6d 75 73 74 |mote' tasks must| 00001520 20 72 65 73 70 6f 6e 64 20 74 6f 20 73 6f 6d 65 | respond to some| 00001530 20 6d 65 73 73 61 67 65 73 20 69 6e 20 61 20 73 | messages in a s| 00001540 69 6d 69 6c 61 72 0a 77 61 79 20 74 6f 20 74 68 |imilar.way to th| 00001550 65 20 27 4c 6f 63 61 6c 27 20 74 61 73 6b 2e 0a |e 'Local' task..| 00001560 0a 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 61 6e |.In addition, an| 00001570 20 6f 70 74 69 6f 6e 61 6c 20 65 78 74 65 6e 73 | optional extens| 00001580 69 6f 6e 20 74 6f 20 74 68 65 20 73 74 61 6e 64 |ion to the stand| 00001590 61 72 64 20 70 72 6f 76 69 64 65 73 20 73 75 70 |ard provides sup| 000015a0 70 6f 72 74 20 66 6f 72 0a 27 49 6e 2d 70 6c 61 |port for.'In-pla| 000015b0 63 65 27 20 65 64 69 74 69 6e 67 20 6f 66 20 6f |ce' editing of o| 000015c0 62 6a 65 63 74 73 20 64 69 72 65 63 74 6c 79 20 |bjects directly | 000015d0 69 6e 20 61 6e 6f 74 68 65 72 20 61 70 70 6c 69 |in another appli| 000015e0 63 61 74 69 6f 6e 27 73 20 77 69 6e 64 6f 77 2e |cation's window.| 000015f0 20 0a 0a 4c 69 6d 69 74 61 74 69 6f 6e 73 2c 20 | ..Limitations, | 00001600 61 73 73 75 6d 70 74 69 6f 6e 73 20 61 6e 64 20 |assumptions and | 00001610 70 68 69 6c 6f 73 6f 70 68 79 20 0a 3d 3d 3d 3d |philosophy .====| 00001620 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| * 00001640 3d 3d 3d 0a 0a 54 68 65 20 50 43 41 20 73 74 61 |===..The PCA sta| 00001650 6e 64 61 72 64 20 72 65 71 75 69 72 65 73 20 74 |ndard requires t| 00001660 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 20 0a |he following:. .| 00001670 4f 62 6a 65 63 74 73 20 61 72 65 20 73 74 6f 72 |Objects are stor| 00001680 65 64 20 69 6e 20 61 6e 20 61 72 65 61 20 6f 66 |ed in an area of| 00001690 20 6d 65 6d 6f 72 79 20 61 76 61 69 6c 61 62 6c | memory availabl| 000016a0 65 20 74 6f 20 61 6c 6c 20 74 61 73 6b 73 2e 20 |e to all tasks. | 000016b0 28 65 67 2e 20 44 79 6e 61 6d 69 63 0a 61 72 65 |(eg. Dynamic.are| 000016c0 61 73 29 2e 20 42 65 79 6f 6e 64 20 74 68 61 74 |as). Beyond that| 000016d0 20 74 68 65 20 50 43 41 20 69 73 20 64 65 73 69 | the PCA is desi| 000016e0 67 6e 65 64 20 74 6f 20 62 65 20 61 73 20 74 72 |gned to be as tr| 000016f0 61 6e 73 70 61 72 65 6e 74 20 61 73 20 70 6f 73 |ansparent as pos| 00001700 73 69 62 6c 65 20 74 6f 0a 74 68 65 20 6d 65 6d |sible to.the mem| 00001710 6f 72 79 20 6d 61 6e 61 67 65 6d 65 6e 74 20 73 |ory management s| 00001720 79 73 74 65 6d 20 75 73 65 64 20 62 79 20 61 20 |ystem used by a | 00001730 70 72 6f 67 72 61 6d 2e 20 53 65 65 20 62 65 6c |program. See bel| 00001740 6f 77 20 66 6f 72 20 73 6f 6d 65 20 6e 6f 74 65 |ow for some note| 00001750 73 20 6f 6e 0a 6d 65 6d 6f 72 79 20 6d 61 6e 61 |s on.memory mana| 00001760 67 65 6d 65 6e 74 20 72 65 6c 61 74 65 64 20 69 |gement related i| 00001770 73 73 75 65 73 2e 0a 0a 4f 62 6a 65 63 74 73 20 |ssues...Objects | 00001780 61 72 65 20 65 69 74 68 65 72 20 65 6e 74 69 72 |are either entir| 00001790 65 6c 79 20 70 61 67 65 64 20 69 6e 74 6f 20 52 |ely paged into R| 000017a0 41 4d 20 64 75 72 69 6e 67 20 61 6e 79 20 50 43 |AM during any PC| 000017b0 41 20 65 78 63 68 61 6e 67 65 2c 20 6f 72 20 61 |A exchange, or a| 000017c0 0a 76 69 72 74 75 61 6c 20 6d 65 6d 6f 72 79 20 |.virtual memory | 000017d0 73 79 73 74 65 6d 20 77 68 69 63 68 20 69 73 20 |system which is | 000017e0 74 72 61 6e 73 70 61 72 65 6e 74 20 74 6f 20 74 |transparent to t| 000017f0 68 65 20 70 72 6f 67 72 61 6d 20 61 63 63 65 73 |he program acces| 00001800 73 69 6e 67 20 6d 65 6d 6f 72 79 0a 69 73 20 75 |sing memory.is u| 00001810 73 65 64 20 28 45 67 2e 20 43 6c 61 72 65 73 20 |sed (Eg. Clares | 00001820 56 69 72 74 75 61 6c 69 73 65 29 2e 0a 0a 4f 62 |Virtualise)...Ob| 00001830 6a 65 63 74 73 20 61 72 65 20 73 74 6f 72 65 64 |jects are stored| 00001840 20 69 6e 20 61 20 63 72 6f 73 73 2d 70 72 6f 67 | in a cross-prog| 00001850 72 61 6d 20 73 74 61 6e 64 61 72 64 20 66 6f 72 |ram standard for| 00001860 6d 61 74 20 66 6f 72 20 77 68 69 63 68 20 74 68 |mat for which th| 00001870 65 72 65 20 69 73 20 61 0a 6d 65 74 68 6f 64 20 |ere is a.method | 00001880 6f 66 20 72 65 6e 64 65 72 69 6e 67 20 72 65 61 |of rendering rea| 00001890 64 69 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 74 |dily available t| 000018a0 6f 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 6d |o other programm| 000018b0 65 72 73 2e 20 45 78 61 6d 70 6c 65 73 20 61 72 |ers. Examples ar| 000018c0 65 0a 52 49 53 43 20 4f 53 20 53 70 72 69 74 65 |e.RISC OS Sprite| 000018d0 73 2c 20 44 72 61 77 66 69 6c 65 73 2c 20 41 72 |s, Drawfiles, Ar| 000018e0 74 57 6f 72 6b 73 20 66 69 6c 65 73 2c 20 50 6c |tWorks files, Pl| 000018f0 61 69 6e 20 74 65 78 74 20 65 74 63 2e 0a 0a 49 |ain text etc...I| 00001900 66 20 79 6f 75 20 61 72 65 20 77 72 69 74 69 6e |f you are writin| 00001910 67 20 6f 72 20 68 61 76 65 20 77 72 69 74 74 65 |g or have writte| 00001920 6e 20 61 20 70 72 6f 67 72 61 6d 20 77 68 69 63 |n a program whic| 00001930 68 20 70 72 6f 64 75 63 65 73 20 64 61 74 61 20 |h produces data | 00001940 6f 62 6a 65 63 74 73 0a 74 68 61 74 20 6d 61 79 |objects.that may| 00001950 20 62 65 20 64 65 73 69 72 61 62 6c 65 20 66 6f | be desirable fo| 00001960 72 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 73 |r other programs| 00001970 20 74 6f 20 72 65 6e 64 65 72 2c 20 79 6f 75 20 | to render, you | 00001980 73 68 6f 75 6c 64 20 63 6f 6e 73 69 64 65 72 0a |should consider.| 00001990 70 72 6f 76 69 64 69 6e 67 20 61 20 72 65 6e 64 |providing a rend| 000019a0 65 72 69 6e 67 20 6d 6f 64 75 6c 65 20 28 6f 72 |ering module (or| 000019b0 20 73 6f 6d 65 20 63 6f 64 65 29 20 77 68 69 63 | some code) whic| 000019c0 68 20 6f 74 68 65 72 20 61 70 70 6c 69 63 61 74 |h other applicat| 000019d0 69 6f 6e 73 20 63 61 6e 20 75 73 65 0a 74 6f 20 |ions can use.to | 000019e0 64 69 73 70 6c 61 79 20 79 6f 75 72 20 6f 62 6a |display your obj| 000019f0 65 63 74 20 74 79 70 65 73 2e 20 59 6f 75 20 73 |ect types. You s| 00001a00 68 6f 75 6c 64 20 61 6c 73 6f 20 63 6f 6e 73 69 |hould also consi| 00001a10 64 65 72 20 70 6c 61 63 69 6e 67 20 74 68 65 20 |der placing the | 00001a20 64 65 74 61 69 6c 73 0a 28 69 66 20 6e 6f 74 20 |details.(if not | 00001a30 74 68 65 20 72 65 6e 64 65 72 69 6e 67 20 63 6f |the rendering co| 00001a40 64 65 20 69 74 73 65 6c 66 29 20 69 6e 20 74 68 |de itself) in th| 00001a50 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2e |e public domain.| 00001a60 0a 0a 4e 6f 20 77 65 6c 6c 20 77 72 69 74 74 65 |..No well writte| 00001a70 6e 20 52 49 53 43 20 4f 53 20 61 70 70 6c 69 63 |n RISC OS applic| 00001a80 61 74 69 6f 6e 20 69 73 20 61 6e 20 69 73 6c 61 |ation is an isla| 00001a90 6e 64 2e 20 42 79 20 73 75 70 70 6f 72 74 69 6e |nd. By supportin| 00001aa0 67 20 74 68 65 20 50 43 41 0a 73 74 61 6e 64 61 |g the PCA.standa| 00001ab0 72 64 20 70 72 6f 67 72 61 6d 73 20 63 61 6e 20 |rd programs can | 00001ac0 74 61 6b 65 20 61 64 76 61 6e 74 61 67 65 20 6f |take advantage o| 00001ad0 66 20 65 61 63 68 20 6f 74 68 65 72 27 73 20 67 |f each other's g| 00001ae0 6f 6f 64 20 66 65 61 74 75 72 65 73 20 61 6e 64 |ood features and| 00001af0 0a 6d 69 6e 69 6d 69 73 65 20 74 68 65 69 72 20 |.minimise their | 00001b00 77 65 61 6b 6e 65 73 73 65 73 20 77 68 69 6c 65 |weaknesses while| 00001b10 20 70 72 6f 76 69 64 69 6e 67 20 74 68 65 20 75 | providing the u| 00001b20 73 65 72 20 77 69 74 68 20 61 20 66 61 72 20 72 |ser with a far r| 00001b30 69 63 68 65 72 20 61 6e 64 0a 6d 6f 72 65 20 70 |icher and.more p| 00001b40 72 6f 64 75 63 74 69 76 65 20 77 6f 72 6b 69 6e |roductive workin| 00001b50 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 20 0a |g environment. .| 00001b60 0a 4d 65 6d 6f 72 79 20 6d 61 6e 61 67 65 6d 65 |.Memory manageme| 00001b70 6e 74 20 69 73 73 75 65 73 20 0a 3d 3d 3d 3d 3d |nt issues .=====| 00001b80 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| 00001b90 3d 3d 3d 0a 0a 46 6f 72 20 62 61 63 6b 77 61 72 |===..For backwar| 00001ba0 64 73 20 63 6f 6d 70 61 74 61 62 69 6c 69 74 79 |ds compatability| 00001bb0 20 70 72 6f 67 72 61 6d 73 20 74 68 61 74 20 77 | programs that w| 00001bc0 69 73 68 20 74 6f 20 75 73 65 20 50 43 41 20 6f |ish to use PCA o| 00001bd0 6e 20 70 72 65 20 52 69 73 63 50 43 0a 68 61 72 |n pre RiscPC.har| 00001be0 64 77 61 72 65 20 63 61 6e 20 66 61 6c 6c 20 62 |dware can fall b| 00001bf0 61 63 6b 20 74 6f 20 75 73 69 6e 67 20 74 68 65 |ack to using the| 00001c00 20 52 4d 41 20 6f 72 20 73 6f 6d 65 74 68 69 6e | RMA or somethin| 00001c10 67 20 6c 69 6b 65 20 74 68 65 20 44 79 6e 61 6d |g like the Dynam| 00001c20 69 74 65 0a 6d 65 6d 6f 72 79 20 6d 61 6e 61 67 |ite.memory manag| 00001c30 65 72 2e 20 57 65 20 64 6f 20 6e 6f 74 20 68 6f |er. We do not ho| 00001c40 77 65 76 65 72 20 62 65 6c 69 65 76 65 20 74 68 |wever believe th| 00001c50 61 74 20 44 79 6e 61 6d 69 74 65 20 69 73 20 74 |at Dynamite is t| 00001c60 68 65 20 62 65 73 74 20 73 6f 6c 75 74 69 6f 6e |he best solution| 00001c70 0a 66 6f 72 20 61 20 50 43 41 20 74 61 73 6b 20 |.for a PCA task | 00001c80 6f 6e 20 74 68 65 20 52 69 73 63 50 43 2e 20 54 |on the RiscPC. T| 00001c90 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 44 |his is because D| 00001ca0 79 6e 61 6d 69 74 65 20 75 73 65 73 20 6f 6e 65 |ynamite uses one| 00001cb0 20 64 79 6e 61 6d 69 63 20 61 72 65 61 0a 74 6f | dynamic area.to| 00001cc0 20 73 74 6f 72 65 20 61 6c 6c 20 6f 66 20 69 74 | store all of it| 00001cd0 73 20 64 61 74 61 20 72 61 74 68 65 72 20 74 68 |s data rather th| 00001ce0 61 6e 20 6f 6e 65 20 64 79 6e 61 6d 69 63 20 61 |an one dynamic a| 00001cf0 72 65 61 20 66 6f 72 20 65 61 63 68 20 74 61 73 |rea for each tas| 00001d00 6b 2e 20 54 68 69 73 0a 70 72 61 63 74 69 63 65 |k. This.practice| 00001d10 20 6d 65 61 6e 73 20 74 68 61 74 2c 20 69 6e 20 | means that, in | 00001d20 74 68 65 20 65 76 65 6e 74 20 6f 66 20 61 20 50 |the event of a P| 00001d30 43 41 20 72 65 6d 6f 74 65 20 74 61 73 6b 20 67 |CA remote task g| 00001d40 6f 69 6e 67 20 77 72 6f 6e 67 20 61 6e 64 0a 77 |oing wrong and.w| 00001d50 72 69 74 69 6e 67 20 62 65 79 6f 6e 64 20 74 68 |riting beyond th| 00001d60 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6f 62 6a |e end of the obj| 00001d70 65 63 74 20 62 65 69 6e 67 20 65 64 69 74 65 64 |ect being edited| 00001d80 2c 20 2a 61 6c 6c 2a 20 74 61 73 6b 73 20 75 73 |, *all* tasks us| 00001d90 69 6e 67 0a 44 79 6e 61 6d 69 74 65 20 63 6f 75 |ing.Dynamite cou| 00001da0 6c 64 20 63 72 61 73 68 20 72 61 74 68 65 72 20 |ld crash rather | 00001db0 74 68 61 6e 20 6a 75 73 74 20 74 68 65 20 6f 6e |than just the on| 00001dc0 65 20 6c 6f 63 61 6c 20 74 61 73 6b 20 69 6e 20 |e local task in | 00001dd0 71 75 65 73 74 69 6f 6e 2e 20 41 6c 73 6f 2c 0a |question. Also,.| 00001de0 44 79 6e 61 6d 69 74 65 20 77 69 6c 6c 20 6e 6f |Dynamite will no| 00001df0 74 20 77 6f 72 6b 20 77 69 74 68 20 56 69 72 74 |t work with Virt| 00001e00 75 61 6c 69 73 65 20 77 68 69 63 68 20 70 72 6f |ualise which pro| 00001e10 76 69 64 65 73 20 61 20 50 43 41 20 63 6f 6d 70 |vides a PCA comp| 00001e20 61 74 69 62 6c 65 0a 76 69 72 74 75 61 6c 20 6d |atible.virtual m| 00001e30 65 6d 6f 72 79 20 73 79 73 74 65 6d 2e 20 |emory system. | 00001e3e
.