[SDK] Error when using ef_deprecated

Bugs will be moved here once resolved.

Post » Tue Nov 08, 2011 7:56 pm

I am trying to deprecate an expression in the Keycode plug-in, but I keep getting this error when I try to open a capx that requires that expression:

---------------------------
Construct 2 Check failure
---------------------------
Check failure! This is probably a bug:

ACE table: expression does not specify one return flag - did you specify more than one, or forget it entirely?

Condition: return_flags == 1
File: c:\c2\source\exporters\html5\..\..\common\ERAHelpers.h
Line: 245
Function: void __cdecl era::ACETable::AddExpression(int,int,const class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &,const class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &,const class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &,const class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &,void (__cdecl *)(const class era::StaticResult **,int,class era::StaticEvaluation *))
Build: release 66 (64-bit) checked
Component: HTML5 exporter
(Last Win32 error: 0)

You are using a 'checked' release of Construct 2, intended for testing, which causes certain errors to be reported this way. Hit Ctrl+C to copy this messagebox - it's useful information for the developers, so please include it with any bug reports! Click 'Abort' to quit (unsaved data will be lost!),'Retry' to turn off messages for this session and continue, or 'Ignore' to continue normally.
---------------------------
Abort   Retry   Ignore   
---------------------------


Here is the updated plug-in with the deprecated expression: http://dl.dropbox.com/u/38038537/wastrel_keycode_updated.zip

Here is my test capx, that used the deprecated expression: http://dl.dropbox.com/u/38038537/TestKeyCode.capx

It seems like the ef_deprecated flag is not being recognized, or that I need to combine it with the ef_return_int flag or something.

Thanks!

EDIT: I forgot to mention that I am running under R66, if that matters.
Wastrel2011-11-08 20:04:50
Don't see the fnords and they won't eat you!
B
75
S
16
G
12
Posts: 322
Reputation: 11,608

Post » Tue Nov 08, 2011 9:14 pm

You still need the return type flag. ef_deprecated basically means "make this invisible" - you can still open old projects using it, but you can't use it in new projects. If you open an old project still using it, C2 still needs to know its return type, so you should use both flags.
Scirra Founder
B
359
S
214
G
72
Posts: 22,949
Reputation: 178,544

Post » Tue Nov 08, 2011 10:00 pm

Strange. I am sure I used the bitwise OR to separate the two flags when I first tried, and it didn't work. Must be gremlins.

Thanks Ashley!
Don't see the fnords and they won't eat you!
B
75
S
16
G
12
Posts: 322
Reputation: 11,608


Return to Closed bugs

Who is online

Users browsing this forum: No registered users and 1 guest