If the DataDll does not use NetTalk, just exports the class, you could try putting NetTalk in its own DLL and see if that will compile. It uses several other classes that also should be moved to the NTExport DLL. If that works then it should just require the Apps that use NetTalk to import from the NTExport.DLL
E.g. I put the Capesoft Message in its own DLL alone. That lets me add it to any project easily by just importing that DLL to the EXE then calling a Procedure in it to Init the MessageBox class and Hook the message.
I could be wrong, but I vageuly remember something like Tom Moselys Dictionary Enhancement Foundation did something to the dct which got around this problem.
I looked and searched everywhere to see if the DEF templates can be purchased somewhere, no luck.
I removed NetTalk from my Data Dll.
My Data Dll compiles 100%.
I put NetTalk into a new Dll, as suggested by Carl.
The dll where I have put the Global NetTalk template gives a lot of errors, I think all related to NetTalk.
I have no idea how to resolve these 257 errors:
Unresolved External CONSTRUCT@F7_NETALL
Unresolved External CONSTRUCT@F7_NETALL
Unresolved External LOG@F7_NETALLsbsbl
Unresolved External INTERPRETERROR@F7_NETALL
Unresolved External _WAIT@F7_NETALLl
Unresolved External _RELEASE@F7_NETALLl
Unresolved External _LOGGINGSETUP@F7_NETALL
Unresolved External _LOGGINGFIRSTTIME@F7_NETALL
Unresolved External _TRACE@F7_NETALLsb
Unresolved External TRACE@F7_NETALLsb
Unresolved External INIT@F16NETFTPCLIENTDATAUl
and a lot more.
You’re making a DLL with the NetTalk code exported so it cannot be external.
I would guess the NetTalk Global Extension Multi-DLL or Build Settings are set to External. You need it Not External and Exported. I don’t use it so cannot give you specifics
NetTalk is an ABC Complaint Class (our only one) so it cannot be separated from the data dll. Pretty much all our other classes can be, but not the NetTalk classes.
There is not a switch for dll like the other CS tools.
Is there any solution you can think of.
I tried removing a lot of the other templates in the Data Dll, still the same error.
The only one that makes a difference is if I remove the NetTalk template, probably because it is the biggest one with the most dependencies and all the nice functionality.
What I’ve done in the past is removed file definitions from the dct which were used for importing or exporting data, ie txt, csv type files and then just declared those files in their import/export procedure(s), its not a big deal to define a dct table in the data declaration part of a procedure, you can copy it from the data dct source code clw very easily.
The main reason for doing those is because you dont have a file relationship with this files and typically they are only ordered by the record order, so they dont need to be tied into the filemanager class, hence they dont need to be in the dct.
I think Jim Morgan at Mitten Software took over selling Tom Moseley’s templates but I cannot see them on the Mitten web site so I think they must be dead/extinct. It might be worth an email to Mitten but if they haven’t been maintained in 20 years then who knows what problems you might come up against even if you could buy them.
Thanks for the link and article.
I am trying this option to see if it will solve my problem.
My ABCMain app compiles 100%, only the ABC Classes with NetTalk global template added.
I made changes to my DataDll as per the article.
When I compile my DataDll I get a lot of errors on the procedures that uses NetTalk. Unknown Variable ‘%NoNetTalk’
I have tried all the options with the separate ABC as per the article but I get 100’s of unresolved errors when I compile.
Wondering if I setup C6 as a Version in my C10 would that allow me to get my Data Dll compiled without the Dynamic error.
I there somewhere directions on how to setup the Version stuff in C10?