Bly tutorial

There's something bothering me about COM and DLLs that boils down to
this question wrt the Bly tutorial:

Could the ChatServer *easily* be implemented as a DLL instead of an
EXE?

The reason I ask is this:

If I have, say, a global integer variable initialized to zero in a
Delphi DLL and run two apps that manipulate this variable, both see
their "own" value  of its contents and are oblivious to the value of
the others' instance.  And the Delphi shared-memory demo makes it
fairly obvious that it's not trivial to pass info back and forth
between the two app instances via the DLL.

So what I'm wondering - if the answer to my "Could ..." question is
"Yes", what then would be the mechanism by which the Chat clients
could ever talk to one another?  On the face of it, they'd be attached
to different instances of the Chat server which wouldn't know about
one-another's existence.

Cheers & TIA Martyn