The best way to test the client and server pair is from within the Functional Developer environment, so that we can use the debugger if either application fails.
First we must register the server with the system, so that COM knows where to find the server and what interfaces it supports. In order to do this, we must execute the server with the /RegServer command line flag. This will cause the server's call OLE-util-register-only? to return #t, and the server to call register-coclass.
/RegServer in the Arguments field, and click OK.
The server application registers itself and exits immediately. You can tell that the server has exited by watching the stop button in the project window become unavailable.
Now that the server is registered, it can be invoked by the client. But we are going to start the server manually in the environment before starting the client. That way, if the server fails, we can debug it in the environment.
First, however, we need to remove the /RegServer argument from the project settings, so that the server can run normally.
/RegServer from the Arguments field, and click OK.
Client connecting to server. Plaintext is "And he was going ooo-la, oooooo-la...", encrypting. Ciphertext is "Naq ur jnf tbvat bbb-yn, bbbbbb-yn...", decrypting. Decrypted text is "And he was going ooo-la, oooooo-la...". Set key to 3. Plaintext is "And he was going ooo-la, oooooo-la...", encrypting. Ciphertext is "Dqg kh zdv jrlqj rrr-od, rrrrrr-od...", decrypting. Decrypted text is "And he was going ooo-la, oooooo-la...". Client releasing server.