Hot Door CORE Forum
using ATE in CORE/SDK plugin - Printable Version

+- Hot Door CORE Forum (http://hotdoorcore.com/forum)
+-- Forum: All forums (http://hotdoorcore.com/forum/forumdisplay.php?fid=1)
+--- Forum: General discussion (http://hotdoorcore.com/forum/forumdisplay.php?fid=3)
+--- Thread: using ATE in CORE/SDK plugin (/showthread.php?tid=189)



using ATE in CORE/SDK plugin - Rick Johnson - 10-28-2018

I'm helping a colleague get started with CORE, or at least promoting the idea by porting a simple existing plugin for him.

In Xcode, when I run the method with either of the following lines, it crashes with the message "Thread 1: EXC_BAD_ACCESS (code=1, address=0x18)"
Code:
ATE::ITextRanges iTextRanges;
ATE::IVersionInfo info;

When I add IText.cpp to the project and build I get 88 undefined symbol errors such as "_sApplicationPaint"

Of course I included and acquired suites using a prefix header and added the c++ flag HDI_CORE_DONT_DECLARE_AI_TYPES, e.g.
Code:
extern "C" AITextFrameSuite*   sAITextFrame;
extern "C" AIATEPaintSuite*    sAIATEPaint;

I'm sure revising the code to use CORE classes instead would be beneficial, but I'm hoping there's a straightforward way to salvage code that I know worked well in an SDK project. Any suggestions would be much appreciated.


RE: using ATE in CORE/SDK plugin - garrett - 11-19-2018

There are about a zillion suites you have to declare and acquire in order to use ATE, which is why you're getting those linker errors regarding undefined symbols. You're on the right track, but you'll have to declare and acquire all of the ATE suites to do things this way (not really a zillion, more like about 88 more Smile )

Yes, you can use CORE by itself by rewriting your code (as we've covered a pretty large portion of ATE functionality), but to use an old project in conjunction with CORE you'll have to deal with each one of those suites manually :S


RE: using ATE in CORE/SDK plugin - Rick Johnson - 12-01-2018

Thanks, Garrett, using the CORE text suites has been going great!