an xxm project is still a Delphi project, so you can open the project's dpr in Delphi, just remember to edit the xxm and xxmi files, and not the pas files directly (unless for temporary debugging behaviour).
If you select xxmHttp.exe as host process, use a browser to navigate to a local URL that loads your project.
When you're using xxmLocal (or xxmLocalDev), set the host application to Internet Explorer (typically C:\Program Files\Internet Explorer\iexplore.exe
), optionally with an "xxm://" URL to open your project.
(Update: to force IE8 to run in a single process, see TabProcGrowth)
When you're using xxmIsapiEx (or xxmIsapiDev) on your local IIS, switch IIS into stand-alone mode and use inetinfo.exe as host application, or create a virtual directory with high isolation (IIS 7: in an application pool of it's own), and use %SystemRoot%\system32\dllhost.exe /ProcessID:{AppID}
with the AppID you can pick up from the properties of the COM+ application in the 'Component Services' administrative tool.
See also here.
xxmConv.exe
and one of the alternative templates from the conv\proto_*
folders.
These combine xxm source with the generated source of the xxm project into a dedicated dll or exe.xxmp.pas
unit contains by default the very least: your project's object class definition, that just maps incoming requests to the default fragment registry (xxmFReg.pas
). It's there for you to extend, and is the best suitable spot for code to run at load-time of the project/website and/or start of a new user session. (See xxmSession.pas
for an example session object in demo "02 Session".) In general, once the logic in xxmp.pas
does what it's supposed to do, it doesn't need to change (much), and xxm by default doesn't trigger an auto-re-compile on a change to xxmp.pas
alone. When you need to test changes to xxmp.pas
(by hitting refresh in your browser), you can add xxmp.pas
to the resources section of Web.xxmp, so changes will trigger a re-compile on next page load.