On 24/01/2023 01:05, David wrote:
Hello Stephan, Yes, this is a Linux system and I'm invoking
uno-skeletonmaker thus:
david@anon:~> "$OFFICE_HOME"/sdk/bin/uno-skeletonmaker calc-add-in
--java5 -l "$OFFICE_PROGRAM_PATH"/types.rdb -n
org.openoffice.adl.util.CalcDL1 -t CalcDL1
ERROR: Unknown entity 'CalcDL1'
david@anon:~>
I'd already found the '-l' trap for the unwary the hard way (and it also
occurs in 'javamaker')! My problem now is that a value for '-t' is
apparently mandatory for the 'calc-add-in' command but I don't
understand what to put there.
The uno-skeletonmaker source code, its help text, and every other
reference have identical wording: "-t <name> specifies a UNOIDL type
name, e.g. com.sun.star.text.XText (can be used more than once)”.
Since '-l' already points to types.rdb you'd think '-t' wouldn't be
needed. The phrasing "-t CalcDL1" was just a guess as I'd read some
source code which seemed to imply a service-name was required.
I don't know much about skeletonmaker or Calc add-ins, but
<https://wiki.documentfoundation.org/Documentation/DevGuide/Spreadsheet_Documents#Spreadsheet_Add-Ins>
says "The functions that the add-in component exports to the spreadsheet
application have to be defined in a new interface." So I would assume
that -t must specify that interface type. And one or more -l will be
needed to make available that interface type and all the other UNOIDL
entities recursively referenced from it. So if you have your own type
com.example.XMyAddIn in your own local mytypes.rdb, you'd probably need
something like
-t com.example.XMyAddIn -l "$OFFICE_HOME"/program/types.rdb -l "$OFFICE_HOME"/program/types/offapi.rdb -l mytypes.rdb