COM API help please
I'm attempting to have another go at writing an app to use the COM API that was introduced back in Logos 4.
Unlike in the past, Microsoft Visual Studio 2019 is not showing the Logos 4 type library under /Add Reference/COM.
I found an article for Logos 7 that spoke about logoscom.exe. I have such a file in my Logos 8 directory, but its not clear how I reference it. Visual Studio does not accept it as a reference if I browse to it from Visual Studio/Add Ref/Browse etc.
I expect I'm missing something simple, but don't have the answers to hand. So any hint or help please.
(The COM API is still referenced in the Logos 8 Help manual, but only links to a Wiki post from around 7 years ago.)
Thanks. in advance for any help.
- Jim
Comments
-
What language are you using to write your program (VB, C#, C++, etc.)? The instructions for referencing a COM library probably depend a lot on the language being used to consume it.
0 -
0
-
Bradley,
I'm using VB.NET in Visual Studio 2019, to create a WinForms app.
My issue is that the Logos COM object does not appear as (see next email).
0 -
Jan,
Thanks for the picture, but this is exactly my problem. The SmartTags shows but the Logos 4 Type Library does not. I've used it before on older PCs and older releases of Logos, so I know it when I see it. But its missing in action on this PC (Windows 10, 1903).
So while I doubted a reinstall would fix it, and no good software should need to be reinstalled to fix stuff, I've done so anyway.
For now, the base install is completed, and its now working on downloading and indexing the "recommended" set. (Top marks that this now exists. For years we asked for selective downloads and was always told NO. So this is a good help.)
Anyway, after the reinstall (which is still running), the Smart Tags is back but the Logos 4 Type Library is a no-show. Hence attempting to /Add Reference/COM/Logos etc is of course impossible.
I'll let the downloads and index complete, but I'm sure it wont matter. But there is always hope :-)
The download and reindex will be some time as my library is some 50 GB last I did a dir-size on the Logos directory. So maybe tomorrow before I mess with things or try a reboot or other extreme things, while the index builds.
I'm hoping Bradley might know what if anything I can do to bully the API into showing up please.
Regards,
Jim
0 -
JimTowler said:
So while I doubted a reinstall would fix it, and no good software should need to be reinstalled to fix stuff, I've done so anyway.
Correct. A reinstall usually is unhelpful at best. A Repair is occasionally useful.
IIRC, the RegisterSmartTags script cleans any old COM registry entries and registers the the COM lib in addition to setting up Smart Tags. You might try running that script: https://wiki.logos.com/Smart_Tags#Using_Powershell_to_fix_Smart_Tags
Like Jan, I had no problem creating a VB Forms app and linking.
0 -
All the type libraries and COM objects should be registered automatically when the program is installed. If they're not showing up, you may be able to repair the registry information by running:
%LOCALAPPDATA%\Logos\Logos.exe /register
It should display a message box stating "Logos Bible Software was registered successfully."
0 -
Bradley,
OK so I ran logos.exe /register and it reported exactly that: … registered successfully. However, same result: no Logos 4 Type Library showing.
Randy,
I ran the powershell and it reported it deleted two old x86 registrations. Yes, this PC used to be Windows 7, and I suspect had Logos 4, 5, 6, 7 and now 8. OK, so I'm unsure it went back to 4, but who can remember.
Anyway, that was the perfect fix, and Visual Studio allowed me to add in the COM Type Library right away.
My WinForm button to call the logosLauncher compiled right away and on clicking, Logos 8 fires up.
Bradley,
I'm wondering if you might enter a bug against the Logos 8 installer, as maybe it should detect I'm on Windows 10 64-bit, and clean up those old registrations itself?
Anyway, thanks all around. I can now proceed with the original plan to see if I can get the API to do something that's actually useful to me now..
Thanks everyone.
Regards,
Jim
0