Die neue DDE-Bibliothek scheint mit CF_Text zu funktionieren,
aber die anderen Formate sind in dieser Gesamtheit ungetestet.
Weiterhin habe ich nicht alle Kombinationen und Größen der
Zwischenablage-Formate testen können.
Inzwischen wird dieses Programm hier unter Matlab 5.2 verwendet,
bisher ohne Abstürze. Von wegen "invalid conversation handle", ein solcher
wirklich lästiger Fehler hat mit dieser DDE-Bibliothek ein Ende!
Und dass kleinere DLLs mehr Funktionalität bieten,
zeigt schließlich nur, wieviel warme Luft im Original steckt.
Leider wird von Total-Abstürzen unter Matlab 5.3 berichtet;
der Fehler mit den unpräzisen Text-Übertragungen
und ein Speicherleck wurden beseitigt.
This new DDE library seems to work with CF_TEXT clipboard format,
the other formats are not fully tested yet.
The library is in use in conjunction with Matlab 5.2 successfully.
This software never had the nasty bug with invalid conversation handle,
therefore, it is suited enough for replacement the original one.
Much smaller in size, the DLLs offer more functions.
Total crashes are said to be when using Matlab 5.3;
a bug with insufficient text transfer space (rounded numbers)
and a memory leak are fixed.
The picture shows available data conversion paths.
At the upper end, more data for numbers is transferred, as
opposite the lower end, where transfer for numbers is most compact.
Different colors have the meaning of (historical) levels of implementation,
and are only meaningful for version history.
This software ist Freeware, no explicit or implicit warranties are given.
Use at your own risk! Commercial use of this software is permitted
as long as authorship is not violated.
Although this software is for use with Matlab,
it is not originated by MathWorks Inc.
The current CF_MatTable clipboard format
This format supports, in current implementation, more-than-two-dimensional
double arrays, but no complex data.
long header (= 6 for double values)
long number_of_dimensions (=n, 0 allowed for scalar values, 1 for vectors)
long dimensions[n] (the dimension extents, a variable-length array)
double values[k] (the values of the multi-dimensional array, k = ∏i=1n dimensions[i])
Therefore, it's easy to transfer scalar values through CF_MatTable,
here the fixed record structure is:
struct{
long header;
long number_of_dimensions;
double value;
}examplevar = {6, 0, 2*PI}; // example