Open generic function
The DUIM-OLE-Server library calls this function to store the server application's data persistently as part of the container's compound document.
save-frame-to-storage frame stream => ()
<embeddable-frame>.
<storage-istream>.
duim-ole-server
duim-ole-server
The DUIM-OLE-Server library calls this function to store the server application's data persistently as part of the container's compound document. If your server application has any data that should be saved persistently, you must provide a method on this function. The default method does nothing.
If you wanted to save three <integer> values in the compound document, the method on save-frame-to-storage might look something like this:
define method save-frame-to-storage
(frame :: <foo-frame>,
stream :: <storage-istream>) => ()
istream-write-integer(stream, frame.foo);
istream-write-integer(stream, frame.bar);
istream-write-integer(stream, frame.baz);
end method; The function istream-write-integer stores a 32-bit signed integer (and returns no values), while istream-write-int16 can be used for values that fit into a 16-bit signed field. Use istream-write-float for a <single-float>, or istream-write-string to write a <byte-string>.
You can also use the low-level OLE API function IStream/Write to output arbitrary FFI data, or you can use the functions in the Streams or Format modules of the IO library.Note that there are separate istream-write-... functions instead of a single generic function, because the object type is not saved to the stream; you need to know what kind of object you are writing in order to know how to read it back.