Interesting, I wasn’t aware of this distinction. Let me see if I understand what you are saying. For example, my extension (primarily written in python) contains lines such as the following.
class InterlinSettingsJob(JobWrapper):
def __init__(self, ctx):
JobWrapper.__init__(self, ctx)
def showDialog(self):
from lingt.ui.comp.interlinsettings import showDlg
showDlg(self.ctx)
g_ImplementationHelper.addImplementation(
InterlinSettingsJob,
"name.JimK.LinguisticTools.InterlinSettings",
("com.sun.star.task.Job",),)
This is referenced in my Addons.xcu
for a menu entry:
<value>service:name.JimK.LinguisticTools.InterlinSettings?execute</value>
Is that the kind of service you were talking about, and are you saying that this wouldn’t work for Basic?
My extension does have some Basic code as well but it gets called differently. Looking back through the code, one way that Basic gets called is by using macro:///
syntax with the dispatcher. Another way is by creating buttons dynamically that are assigned to Basic macros. In both cases, the Basic code is stored in a library in the extension, not given an implementation or service name or anything.